首先新建一个窗体应用程序,在项目属性中点击右键->添加->添加新项,选择Windows窗体->添加。
在Form1和Form2窗口中各添加一个按钮,并双击添加事件处理函数:
父窗口Form1的按钮处理函数,打开子窗口Form2,另外定义一个显示消息框的方法供子窗口调用(定义为public才能被调用):
注意:弹出窗体2的代码,这里, a.Show(this);一定要这样写,如果是 a.Show();在子窗口调用父窗口时会出错。
子窗口Form2的按钮处理函数为改变父窗口Form1按钮的TEXT文本(为了调用父窗口控件,要把按钮定义private改为public,打开form1.cs->form1.designer.cs,找到按钮定义把private改为public),并调用父窗口Form1的show()方法:
值得注意的是,1.需要调用的按钮或者方法必须定义为public,2.弹出子窗体要用.show(this),否则操作不了父窗口,3.子窗口是打开的,父窗体也是打开的,所以不能用new调用父窗体,New调用的话,就等于是新建了一个窗体了。
结果显示: