窗体中调用另一个窗体的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
------解决方案--------------------C# code
Form3 f2 = new Form3();
f2.FormClosed += (s, i) =>
{
MessageBox.Show("子窗体已关闭");
};
f2.ShowDialog();