Adottando il pattern Singleton ad una Form MDI Child possiamo risolvere il problema di aprire  nuovamente una finestra MDI già aperta in modo molto semplice.

Ad esempio supponiamo di avere una MDI Child denominata MyMdiChild basterà cambiare il codice della classe in questo modo :

public partial class MyMdiChild : Form
    {
        private static MyMdiChild thiForm = null;
        public static MyMdiChild GetIstance(Form mdiParent)
        {
            if (thiForm == null)
            {
                thiForm = new MyMdiChild();
                thiForm.MdiParent = mdiParent;
            }
            return thiForm;
        }
        public MyMdiChild()
        {
            InitializeComponent();
        }
    }
Quando dovremo visualizare la nostra MyMdiChil, nella Form parent sarà sufficiente scrivere :
MyMdiChil.GetIstance().Show();
e visualizzeremo sempre la stessa istanza della Form interessata, senza aprirne delle altre.