我有两种不同的表单form1
和form2
。当我在form2
上的文本框中插入文字并确认其为白色按钮时,form1
会创建新的(打开的)form1
更新数据,而不是更新现有的表单。
private void button1_Click(object sender, EventArgs e)
{
//This is my problem
text = textBox1.Text;
new Form1().Show();
this.Close();
}
有没有办法将new
更改为update
?我是新形式的人。
有我尝试做的照片示例。
Example1 http://image.prntscr.com/image/49199c0bad634930a150460b3538957f.png
Example2 http://image.prntscr.com/image/551080f009c7449eb1f04783b2cae97e.png
答案 0 :(得分:1)
在第二个表单中创建一个属性,您可以在打开第二个表单之前设置该属性。使该属性成为引用类型。第二个表单关闭后,您的引用类型将具有该值。像这样:
第二表格:
SomeObject FormOneNeedsThis { get; set; }
第一表格:
SomeObject a = new SomeObject();
secondForm.FormOneNeedsThis = a;
关闭第二张表格后,第一张表格可以这样做:
this.someLabel.Text = a.SomeProperty;
答案 1 :(得分:1)
您正在显式创建类Form1的新实例,并在第5行调用方法“Show()”。
为了更好地完成你想要的东西,我会改用这样的东西:
在Form2中:
1)根据情况将DialogResult属性分配给按钮为“OK”或“Cancel”。您不需要在Form2上的按钮上定义OnClick事件
2)将文本框的Modifiers属性设置为“public”
在Form1中:
在打开对话框的方法中:
GuruFocusKeyRatioSymbol