在家在Form1中的button事件加入如下代码:
From2 f2 = new Form2();
f2.show();
this.close();
然后就都关闭了!
开始不理解,后来知道了,原因如下:
Form1不应该被关闭,因为Form2的实例变量是在Form1中声明的,如果Form1关闭了,Form2的实例变量也就释放了,然后在Form2中加入如下代码:
From3 f3 = new Form3();
f3.show();
this.close();
Form3却显示了!这是因为:Form1是父窗体类型,关闭了Form1,Form2的实例变量也就释放了;相对于Form3,关闭了Form2,只是释放Form2而已!可以在 Application.Run(new From1());中修改父窗体类型!