Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#从其他形式获得价值_C#_Forms - Fatal编程技术网

c#从其他形式获得价值

c#从其他形式获得价值,c#,forms,C#,Forms,情况我有:文本框(输入您的名字)在表格1。从form1上的按钮单击我转到form2。从form2按钮单击到form3。在form3上,单击按钮“我需要在用户记录的form1上的textbox中的空textbox值中写入我”。 示例:在文本框1的表格1上,我写下我的名字“Djuzla”。当我转到form3并点击按钮查看我在form1中写的名字时,它应该显示在空文本框3 form3“Djuzla”中 我现在被这几个小时困住了,这是一个愚蠢的问题,但我不知道下一步该怎么办。。尝试了网络上无数的数据:p

情况我有:文本框(输入您的名字)在表格1。从form1上的按钮单击我转到form2。从form2按钮单击到form3。在form3上,单击按钮“我需要在用户记录的form1上的textbox中的空textbox值中写入我”。 示例:在文本框1的表格1上,我写下我的名字“Djuzla”。当我转到form3并点击按钮查看我在form1中写的名字时,它应该显示在空文本框3 form3“Djuzla”中


我现在被这几个小时困住了,这是一个愚蠢的问题,但我不知道下一步该怎么办。。尝试了网络上无数的数据:p

将值存储在属性中。如果您正在为asp.net开发,请使用会话或视图状态。我理解您的问题了吗?

您可以从页面访问PreviousPage属性,或设置会话变量(或cookie)然后在页面加载时检索它。但最简单的解决方案是使用页面上的PreviousPage属性来访问上一页的数据。

您可以修改表单的构造函数,以获取更多参数来保存文本框的值。

我的回答与此类似。。。因为你要从1到2到3,你基本上可以在这个解决方案中采用相同的方法,根据需要将值串出串回,而不仅仅是一种方式


传递值的解决方案可能会变得非常草率,因为无法保证文本框中的值在传递到某个位置后不会发生变化。相反,更明智的做法是传递一个函数,该函数在调用时解析文本框中的值,这将导致始终获取最新的值

void button1_Click() {
    form2 = new Form2(() => textBoxName.Text);
}

class Form2 : Form {
    ...
    public Form2(Func<String> nameResolver) {
        form3 = new Form3(nameResolver);
    }

    void button1_Click(...) {
       form3.Show()
    }
}

class Form3 : Form {
    Func<String> nameResolver;

    public Form3(Func<string> nameResolver) {
        this.nameResolver = nameResolver;
    }

    void button1_Click(...) {
        this.textBoxName = nameResolver.Invoke();
    }
}
检查我的答案:问候
void button1_Click(...) {
    form2 = new Form2(this);
}

class Form2 : Form {
    Form1 parent;
    public Form2(Form1 parent) {
        this.parent = parent;
    }

    void button1_Click(...) {
        form3 = new Form3(parent);
    }
}