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