我的主窗体包含listBox中的数据列表。在按钮上单击我打开新表单以创建新数据对象(主表单在后台处于非活动状态),当提交新数据时,主表单中的listobox应填充该新对象。
我在想:
问题是:
如果创建了Form1,并且在某些事件上,Form2用showDialog实例化,那么Form1在提交数据之前是无效的,如何在Form2关闭之前找到Form1实例?
再次,如何从Form2类中找到Form1类的实例?
由于
答案 0 :(得分:36)
您可以使用Application.OpenForms
属性获取对任何应用程序当前打开的表单的引用。此Forms
中的FormCollection
可以通过索引访问,如下所示:
Form form1 = Application.OpenForms[0];
或表格的Name
属性如下:
Form form1 = Application.OpenForms["Form1"];
希望这有帮助。
答案 1 :(得分:0)
如果你打电话
Form1.ShowDialog(this)
然后您将能够使用
获取对调用表单的引用this.Owner.Name
以第二种形式(在您的情况下为Form2)
请参阅http://msdn.microsoft.com/en-us/library/system.windows.forms.form.showdialog.aspx