从其他类中查找表单实例

pan*_*njo 7 .net c# winforms

我有一个包含listBox内部数据列表的主窗体.在按钮上单击我打开新表单以创建新数据对象(主表单在后台处于非活动状态),当提交新数据时,主表单中的listobox应填充该新对象.

我在考虑以下事项:

  1. 当提交Form2时,我正在考虑找到MainForm实例并终止该实例,然后它应该很容易,再次从db加载数据列表并显示在列表框中.

问题是:

如果Form1已创建,并且在某些事件上Form2使用showDialog实例化,那么Form1处于非活动状态,直到提交数据为止如何在Form2关闭之前找到Form1实例?

那么,如何从Form2类中找到Form1类的实例?

谢谢

Jur*_*eri 38

您可以使用该Application.OpenForms属性获取对任何应用程序当前打开的表单的引用.Forms在这FormCollection可以通过索引访问,如下所示:

Form form1 = Application.OpenForms[0];
Run Code Online (Sandbox Code Playgroud)

或者通过表格的Name属性如下:

Form form1 = Application.OpenForms["Form1"];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.