Создаем отдельный класс в проекте и вставляем этот код
C# | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| class ListForms
{
//Первый элемнт это название будет формы затем вторым параметром пойдет форма
static Dictionary<string, Form> DicForms = new Dictionary<string, Form>();
public static void RegistrForm(Form owner)//В этот метод записывается все формы и их ключи
{
DicForms.Add("Форма1", owner);//Это строка главной формы(форма которая открывается первая)
DicForms.Add("Форма2", new Form2() { Owner = owner });//Далее идут уже дочерние формы
DicForms.Add("Форма3", new Form3() { Owner = owner });
}
/// <summary>
/// Метод возвращает форму по ключу
/// </summary>
/// <param name="KeyForm">Ключ формы</param>
public static Form GetForm(string KeyForm)//метод-конструктор вызывает один раз на главной форме или при запуске
{
return DicForms[KeyForm];
}
}
} |
|
Потом уже вызываем любую форму из списка
C# | 1
2
3
| Hide();
Form fr = ListForms.GetForm("Форма2");
fr.Show(); |
|
Вроде всё. Главное не забудьте конструктор вызватьC# | 1
| ListForms.RegistrForm(this); |
|
PS Если найдете знаете как модернизировать этот способ. То буду благодарен узнать) |