C# WinForm MDI父窗口子窗口控件互操作

在窗体中定义一个 用于存放当前窗体的对象

public static MDIParent1 mdiwin = null;

然后 将他初始化

mdiwin = this;

然后 就可以通过

主窗体类名. mdiwin

在子窗体来操作主窗体对象了 例如

MDIParent1.mdiwin.Text = "Hello World!";

到这里 还没有全部完成 你会发现 只能操作窗体对象主体 无法操作控件
还需要将我们要将要操作的控件的 modifiers 属性 设为 public
或在Designer.cs中将访问符手动从 private 改为 public
如果需要使用变量的话 也可以在变量前加 public 解决 例如

public int i = 0;

设置之后 就可以正常操作控件了 例如

MDIParent1.mdiwin.label1.Text = "Hello!";

以上 父窗体操作子窗体同理

但这并不是一个好的方法 因为在调用时 他将破坏封装 你可以把它封装成方法后再进行使用


拓展与参考资料:http://blog.csdn.net/max01/article/details/1869008

发表评论

电子邮件地址不会被公开。 必填项已用*标注