问题描述
- C#能不能创建一个指向已经打开的窗体的对象
-
我有两个窗体,点击form1上的按钮显示form2,现在要在form2中操作form1的控件,想要一个指向这个已经打开的form1的对象,这个要怎么做
解决方案
可以用Application.OpenForms集合遍历已经打开的窗口。
解决方案二:
可以在打开form2的时候指定owner参数,比如:
Form2 form2 = new Form2();
form2.Show(this);
这样,在form2里可以通过Owner属性来访问form1。
不过这种方式并不合理,控件应该是窗体私有的,尽可能不要从外部直接操作控件。
比较合适的作法是在form2中定义一些事件,然后在form1中对这些事件进行响应,从而操作自己的控件。
解决方案三:
使用委托的方式可以,实现 form2 操作form1 。from2 操作一个按钮,调用委托 通知form1。form1 接到 指令,去做对应的操作。
解决方案四:
form2.ParentForm
时间: 2024-11-05 18:30:52