读书人

窗体中调用另一个窗体的close方法之后

发布时间: 2012-06-15 19:37:05 作者: rapoo

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

读书人网 >C#

热点推荐