我有一个带有FormClosing
事件处理程序的MDI父级:
private void FrmMdiParent_FormClosing(object sender, FormClosingEventArgs e) {
e.Cancel = true;
}
当我点击窗口上的红叉时,当我有一些MDI孩子出现时,它将完全关闭一个 MDI孩子。当我删除e.Cancel = true
时,行为是相同的,除非它会在所有孩子都离开时关闭父窗体。
孩子们没有注册FormClosing
处理程序。
如何在不关闭任何MDI儿童的情况下取消FormClosing
事件?
答案 0 :(得分:2)
foreach(Form f in yourMDIForm.MdiChildren)
f.FormClosing += ChildFormClosing;
private void ChildFormClosing(object sender, FormClosingEventArgs e){
if(e.CloseReason == CloseReason.MdiFormClosing) e.Cancel = true;
}