Ограничить количество созданных внутренних форм(MDI)

Мне необходимо привести приложение к виду многооконного интерфейса (MDI). Я хочу, чтобы количество внутренних окон не было больше заданного числа.

  public class GenericSingleton<T> where T : Form, new()
    {

        private static T[] t = new T[4];

        public static T CreateInstrance(int index)
        {
            if (null == t[index] || t[index].IsDisposed)
            {
                t = new T[index];
            }
            if (Application.OpenForms.Cast<Form>().Count(openForm => openForm.IsMdiChild) > 8)
                return null;
            return t[index];
        }
        
    }


    private void formToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form f = GenericSingleton<Form>.CreateInstrance(1);
            f.Show();
        }

Я написал это, но это не работает. Помогите пожалуйста найти ошибки.


Ответы (0 шт):