首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

窗体中调用另一个窗体的close方法之后,怎么得知另一个窗体是否已被删除

2012-06-15 
窗体中调用另一个窗体的close方法之后,如何得知另一个窗体是否已被删除?现在我有一个MDI窗体,在MDI主窗体

窗体中调用另一个窗体的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(); 

热点排行