VB Code:
[Color=Blue]public[/color] [Color=Blue]bool[/color] ClosingForm=[Color=Blue]false[/color];
[Color=Blue]protected[/color] [Color=Blue]override[/color] [Color=Blue]void[/color] WndProc([Color=Blue]ref[/color] Message m)
{
[Color=Blue]switch[/color](m.Msg)
{
[Color=Blue]case[/color] 161 :[Color=green] /// click on control box.[/color]
[Color=Blue]if[/color](m.WParam.ToInt32()==20)[Color=green]/// click on close X[/color]
{
ClosingForm=[Color=Blue]true[/color];
}
[Color=Blue]break[/color];
}
[Color=Blue]base[/color].WndProc([Color=Blue]ref[/color] m);
}
in your mdiChild's closing event ....
VB Code:
[Color=Blue]private[/color] [Color=Blue]void[/color] Form2_Closing([Color=Blue]object[/color] sender, System.ComponentModel.CancelEventArgs e)
{
Form1 fMain=(Form1)[Color=Blue]this[/color].MdiParent;
[Color=Blue]if[/color]([Color=Blue]this[/color].MdiParent.MdiChildren.Length==1)
{
[Color=Blue]switch[/color](fMain.ClosingForm)
{
[Color=Blue]case[/color] [Color=Blue]false[/color] :
e.Cancel=[Color=Blue]true[/color];
[Color=Blue]break[/color];
[Color=Blue]case[/color] [Color=Blue]true[/color] :
e.Cancel=[Color=Blue]false[/color];
[Color=Blue]break[/color];
}
}
}
hope it helps :)