如何控制子窗体的的关闭
//子窗体的显示
TreeForm.MdiParent = this;
TreeForm.Show();
TreeForm.Focus();
我想点击TreeForm的X进行关闭时无效,不让关,但是在主窗体推出时要能关闭TreeForm。不知道如何实现?
[解决办法]
在主窗体的Closing事件中关闭子窗体。
利用主窗体的MdiChildren属性,它是一个Form数组。
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消息。