问题描述
父类:publicpartialclassForm_Parent:Form{publicForm_Parent(){InitializeComponent();}privatevoidForm_Parent_Load(objectsender,EventArgse){Common.openFormList.Add(this);}privatevoidForm_Parent_Closing(objectsender,CancelEventArgse){Common.openFormList.Remove(this);}}publicpartialclassConfigXML:Form_Parent//继承{publicConfigXML(){InitializeComponent();}publicvoidconfirm(){MessageBox.Show("SUCCESS");SetConfigst=(SetConfig)this.Owner;st.ConfigXMLs();this.Close();}}我继承他为什么页面关闭的时候不执行父类的窗体关闭事件,在别的页面有能执行到的,也有执行不到的
解决方案
解决方案二:
//父窗体protectedoverridevoidOnClosing(CancelEventArgse){MessageBox.Show("A");base.OnClosing(e);}子窗体protectedoverridevoidOnClosing(CancelEventArgse){base.OnClosing(e);MessageBox.Show("b");}
解决方案三:
我现在想实现一个功能,一旦session丢失,就把所有窗口关闭,只剩下登陆窗口所以我写一个父类,子类窗体加载的时候addthis.name关闭的时候removethis.name如果sessiong丢失那我循环这个窗体集合把所有窗体关闭。楼上这个写法是否太麻烦呢?
解决方案四:
你试试把this.Close();换成base.Close();看看啊执行
解决方案五:
换了不行
解决方案六:
解决方案七:
http://topic.csdn.net/u/20120524/10/0588ab9d-5d2c-4698-8901-bb6333142d3c.html随便回复下我结贴
解决方案八:
检查下父类注册事件的代码还在不在
解决方案九:
在的,有的页面是执行正常的,我觉得我在this.close()之前做别的操作之后父类的就不执行了。比如我的例子就是调用它的owner窗体的一个方法
解决方案十:
你断点,看看程序怎么走的不就完了啊。电脑是不会骗你的啊