sabato 28 marzo 2026

C# Windows Forms da una form minimizzare o riportare a normale le form collegate di tipo mdi

Nel caso che si sta sviluppando un progetto di tipo “Windows Forms” ed abbiamo diverse form aperte che fanno parte di una form child, nell’evento “SizeChanged” della form principale (non MDI), possiamo ridurre o riportare allo stato normale tutte le form collegate.

L’esempio di codice qui di seguito, nel linguaggio di programmazione C#, verifica in una delle form figlie nel quale vogliamo applicare l'evento alle altre form è stata minimizza, in tale caso, tutte le form collegate (figlie) , verranno ridotte anch’esse. 

Inoltre, lo stesso effetto, sempre nella stessa form figlia di nostro interesse replicare lo stato dello stato normale, a tutte quelle collegate.

C#

private void form1_SizeChanged(object sender, EventArgs e)

{

    if (this.MdiParent != null)

    {

 

        if (this.WindowState == FormWindowState.Minimized)

        {

            foreach (Form childForm in this.MdiParent.MdiChildren)

            {

                if (childForm!= this)

                    childForm.WindowState = FormWindowState.Minimized;

            }

        }

        else if (this.WindowState == FormWindowState.Normal)

        {

            foreach (Form childForm in this.MdiParent.MdiChildren)

            {

                if (childForm!= this)

                    childForm.WindowState = FormWindowState.Normal;

            }

        }

 

        this.Focus();

 

    }

}

Nessun commento: