问题是这样的,我希望关闭父窗口时将子窗口都关掉
但是其中一个子窗口中 在FormClosing事件中我写了
this.Hide();
e.Cancel=true;
也就是只隐藏不关闭。这时候,我关闭父窗口时,它自动先关闭子窗口,遇到这两句时,就把这个事件cancel掉了,不关闭窗口。达不到希望另外,我尝试在父窗口的FormClosing事件里面写子窗口dispose,可是不行,调用的顺序是先掉子窗口的closing,时间提前被cancel掉了,请问解决方案。
但是其中一个子窗口中 在FormClosing事件中我写了
this.Hide();
e.Cancel=true;
也就是只隐藏不关闭。这时候,我关闭父窗口时,它自动先关闭子窗口,遇到这两句时,就把这个事件cancel掉了,不关闭窗口。达不到希望另外,我尝试在父窗口的FormClosing事件里面写子窗口dispose,可是不行,调用的顺序是先掉子窗口的closing,时间提前被cancel掉了,请问解决方案。
e.Cancel = false; //强制关闭所有窗口
foreach (Form form in MdiChildren) //不用限定号,所以所有子窗体全部关闭
{
form.Close();//在这实现你的编码
}
if (e.CloseReason == CloseReason.UserClosing)
{
this.Hide();
e.Cancel = true;
}