窗体中调用另一个窗体的close方法之后,如何得知另一个窗体是否已被删除?
现在我有一个MDI窗体,在MDI主窗体上有一个按钮是用来关闭MDI子窗体的,按钮的事件中代码如下
//检查MDI主窗体中是否有名叫FrmChildren的窗体,有,则关闭此窗体
Form Frm = MDIApplaction.MdiChildren.Where(d => d.Name=="FrmChildren").FirstOrDefault();
if (Frm != null)
{
Frm.Close();
}
FrmChildren窗体中的FormClosing事件(窗体关闭前的事件)代码如下:
e.Cancel = true; //取消窗体关闭句柄
我想在想在MDI主窗体的按钮事件中得到FrmChildren窗体是否已被关闭,代码该怎么写?
[解决办法]
e.Cancel = true,这样就关不了窗体了,你怎么判断
或者你在Form中发布一个属性,代表你的动作,你就判断这个标识
[解决办法]
判断FrmChildren的Handle是否为0
[解决办法]
Form3 f2 = new Form3(); f2.FormClosed += (s, i) => { MessageBox.Show("子窗体已关闭"); }; f2.ShowDialog();