关于Form互引用的问题
比如启动窗体是Form1,然后在点击Form1的一个Button,创建新的Form2对象,然后Show()它,在Form2中再如何引用Form1中的对象呢?
我现在用的方法是在Form2中创建一个变量和一个属性:
private Form _opener;
public Form Opener{
set{
_opener = value;
}
}
在调用show()显示Form2前,先设置这个_opener,如:
Form2 f2 = new Form2();
f2.Opener = this;
f2.Show();
然后我就可以在Form2的代码中引用Form1:
_opener.Text = "ChangedByForm2";
有什么更好的方法吗?ShowDialog()可以加一个参数,表示dialog窗体的Owner,这样可以用f2.ShowDialog(this);打开新的窗体,然后在新窗体中用this.Owner来引用原窗体。