页面关闭的时候 不执行父类的 窗体关闭事件
父类:public partial class Form_Parent : Form
{
public Form_Parent()
{
InitializeComponent();
}
private void Form_Parent_Load(object sender, EventArgs e)
{
Common.openFormList.Add(this);
}
private void Form_Parent_Closing(object sender, CancelEventArgs e)
{
Common.openFormList.Remove(this);
}
}
public partial class ConfigXML : Form_Parent//继承
{
public ConfigXML()
{
InitializeComponent();
}
public void confirm()
{
MessageBox.Show("SUCCESS");
SetConfig st = (SetConfig)this.Owner;
st.ConfigXMLs();
this.Close();
}
}
我继承他 为什么页面关闭的时候 不执行父类的 窗体关闭事件,在别的页面有能执行到的,也有执行不到的 --------------------编程问答--------------------
--------------------编程问答-------------------- 我现在想实现一个功能,一旦session丢失,就把所有窗口关闭,只剩下登陆窗口
//父窗体
protected override void OnClosing(CancelEventArgs e)
{
MessageBox.Show("A");
base.OnClosing(e);
}
子窗体
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
MessageBox.Show("b");
}
所以我写一个父类,子类窗体 加载的时候add this.name 关闭的时候 remove this.name
如果sessiong丢失那我循环这个 窗体集合把所有窗体关闭。
楼上这个写法是否太麻烦呢? --------------------编程问答-------------------- 你试试把
this.Close();
换成
base.Close();
看看啊执行 --------------------编程问答-------------------- 换了不行 --------------------编程问答-------------------- --------------------编程问答-------------------- http://topic.csdn.net/u/20120524/10/0588ab9d-5d2c-4698-8901-bb6333142d3c.html
随便回复下 我结贴 --------------------编程问答-------------------- 检查下父类注册事件的代码还在不在 --------------------编程问答-------------------- 在的,有的页面是执行正常的,我觉得 我在this.close()之前
做别的操作之后 父类的就不执行了。
比如我的例子就是调用它的owner 窗体的一个方法 --------------------编程问答-------------------- 你断点,看看程序怎么走的不就完了啊。电脑是不会骗你的啊
--------------------编程问答--------------------
补充:.NET技术 , C#