Search code examples
c#winformsmdichildmdiparent

c# MDI Parent check child forms opened


I'm making a MDI windows forms app and I have a panel inside the parent. Everytime I open one child I set the parent's panel visible=false with the event: MdiChildActivate. But when I close all the childs I would like to set the parent's panel to visible=true.

Is there any way to do this?

Thanks a lot, maybe is a noob question, but I don't find anything.


Solution

  • Why not just subscribe to the Mdi child's Closed event and then check if there are any remaining children?

    void CreateMdiForm()
    {
        var child = new SomeMdiChildForm();
        // do stuff
        child.FormClosed += child_Closed;
    }
    
    void child_Closed( object sender, FormClosedEventArgs e )
    {
        if( MdiChildren.Length == 0 )
        {
            SetPanelVisible();
        }
    }