Форум программистов, компьютерный форум, киберфорум
444
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 2.

Правильный метод переключения между формами(не создает новые экземпляры)

Запись от 444 размещена 13.01.2021 в 14:58

Создаем отдельный класс в проекте и вставляем этот код
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 Если найдете знаете как модернизировать этот способ. То буду благодарен узнать)
Размещено в Без категории
Просмотров 742 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.