Ограничить количество созданных внутренних форм(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();
}
Я написал это, но это не работает. Помогите пожалуйста найти ошибки.