MDI Form detecting with a child form is added or removed

Malfist picture Malfist · Feb 11, 2009 · Viewed 15.9k times · Source

Is there an event I can use to tell if a child form has been added or removed from the MDI parent?

Answer

Chris Holmes picture Chris Holmes · Feb 11, 2009

Yes. On your main MDI form, wire up to the MdiChildActivated Event.

Like so:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.MdiChildActivate += new EventHandler(Form1_MdiChildActivate);
        }

        void Form1_MdiChildActivate(object sender, EventArgs e)
        {
            MessageBox.Show("Activated");
        }

        private void addToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form form2 = new Form2();
            form2.MdiParent = this;
            form2.Show();
        }
    }

And that event will fire when the child form is both activated or deactivated.