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

怎么控制子窗体的的关闭

2011-12-12 
如何控制子窗体的的关闭//子窗体的显示TreeForm.MdiParent thisTreeForm.Show()TreeForm.Focus()我想

如何控制子窗体的的关闭
//子窗体的显示
TreeForm.MdiParent = this;
TreeForm.Show();
TreeForm.Focus();

我想点击TreeForm的X进行关闭时无效,不让关,但是在主窗体推出时要能关闭TreeForm。不知道如何实现?

[解决办法]
在主窗体的Closing事件中关闭子窗体。
利用主窗体的MdiChildren属性,它是一个Form数组。

C# code
Form[] formList=this.MdiChildren;foreach(Form f in formList){  f.Close();}
[解决办法]
设置子窗口的cancel属性为true

[解决办法]
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}


但是在主窗体推出时要能关闭TreeForm
主窗体是主线程,主线程关闭,其他的就都关闭了,也可以在主窗体的FormClosing中关闭所有的子窗体啊
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
foreach (Form form in Application.OpenForms)
{
form.Close();
}

}
[解决办法]
在主窗口的formcloing中加上 Application.ExitThread(); 就可以了
[解决办法]
重载WndProc函数, 处理WM_CLOSE消息。

热点排行