写了个多窗体的程序,用一个子窗体A控制主窗体的可见性,后来需要再加一个子窗体B控制主窗体的可见性。
调试的时候为了方便,只写了部分代码以看效果,其中部分代码差不多如下:
frmContent frc = new frmContent();
frc.show();
this.visble = false;
运行过后,子窗体是显示了,但是主窗体最后还是显示了出来,起初以为是在程序的其他地方设置了对主窗体的可见性操作,逐行过后,没有发现问题。
后来在load事件的最后加入了代码:this.visble = false; 确认运行过之后,主窗体还是显示了出来。
多次试验下发现,代码修改为
frmContent frc = new frmContent();
frc.showdialog();
即可正常控制主窗体的可见性。
具体原理不懂,解决方案如上。
在另外一个程序里,也试着直接让主窗体visible=false,结果最后主窗体还是能够正常显示