MDI父级';s FormClosing事件总是关闭一个子MDI
本文关键字:MDI 一个 父级 事件 FormClosing | 更新日期: 2023-09-27 18:26:48
我有一个带有此FormClosing
事件处理程序的MDI父级:
private void FrmMdiParent_FormClosing(object sender, FormClosingEventArgs e) {
e.Cancel = true;
}
当我有一些MDI子项时,当我单击窗口上的红十字时,它将恰好关闭一个MDI子项。当我删除e.Cancel = true
时,行为是相同的,只是当所有子窗体都不在时,它会关闭父窗体。
子级没有注册FormClosing
处理程序。
如何在不关闭任何MDI子项的情况下取消FormClosing
事件?
foreach(Form f in yourMDIForm.MdiChildren)
f.FormClosing += ChildFormClosing;
private void ChildFormClosing(object sender, FormClosingEventArgs e){
if(e.CloseReason == CloseReason.MdiFormClosing) e.Cancel = true;
}