Windows Forms. Пример разработки унаследованной формы
В этой теме можно изучить процесс наследования формы на основе базовой. Данная тема основана на использовании материала предыдущей темы:
Содержание
Поиск на других ресурсах:
Вступление
В данной задаче выполняются следующие базовые операции:
- создается унаследованная (производная) форма из базовой формы;
- унаследованная форма настраивается для конкретной работы;
- унаследованная форма устанавливается стартовой при запуске приложения.
Унаследованная форма получает возможности базовой формы и расширяет (дополняет) их своими особенностями (методами, свойствами и т.д.).
⇑
Выполнение
1. Загрузка и открытие предыдущей формы
В начале работы необходимо создать пятиугольную форму или некоторую другую форму, если нужно унаследовать именно эту форму. Пример разработки пятиугольной формы в Microsoft Visual Studio 2019 приведен здесь.
В нашем случае после выполнения проекта предыдущей задачи базовой будет пятиугольная форма.
⇑
2. Настройка элемента управления button1
Настроить кнопку button1 (Close) следующим образом:
- свойство Modifiers = protected. Это означает, что кнопка button1 видна в наследуемом коде (наследуемой форме). Компилятор автоматически производит изменения в файле «Form1.Designer.cs».
⇑
3. Добавление новой унаследованной формы
Чтобы добавить новую форму, нужно выполнить следующие действия:
- в меню Project выберите команду «Add Form… (Windows Forms)» (рисунок 1). В результате откроется окно «Add New Item» (рисунок 2);
- в окне «Add New Item» в списке категорий шаблонов задать «Windows Forms»;
- в списке шаблонов задать «Inherited Form (Windows Forms)»;
- в поле Name задать имя файла для новой формы newForm.cs (рисунок 2);
- выбрать кнопку Add для перехода к следующему окну «Instance Picker» (рисунок 3);
- в следующем окне Instance Picker нужно задать базовую форму, из которой будет унаследована наша форма. Это окно отображает все формы текущего проекта. В нашем проекте только одна форма Form1, поэтому выбор невелик. Базовой устанавливается форма Form1 (рисунок 3);
- выберите кнопку OK для завершения добавления новой наследуемой формы.
Рисунок 1. Команда добавления новой формы
Рисунок 2. Окно «Add New Item…». Добавление унаследованной формы
Рисунок 3. Настройка базовой формы
⇑
4. Программный код унаследованной формы newForm
После выполнения предыдущего пункта Visual Studio сгенерирует программный код новой формы. Новая форма имеет имя (Name) newForm и описывается в файлах newForm.cs и newFormDesigner.cs.
Программный код формы в файле newForm.cs наследует программный код базовой формы Form1:
namespace WindowsFormsApp4 { public partial class newForm : WindowsFormsApp4.Form1 { public newForm() { InitializeComponent(); } } }
После перехода в режим проектирования новой формы можно заметить, что она имеет пятиугольную форму, как и предыдущая.
⇑
5. Настройка свойств в форме newForm
В новой форме нужно настроить следующие свойства:
- для кнопки button1 свойство Text=»Inherited»;
- для кнопки button1 свойство BackColor = Red;
- для формы свойство BackColor = Gold.
⇑
6. Установить производную форму в качестве стартовой
Если сейчас запустить проект на выполнение, можно заметить, что программа запускается из формы Form1 – базовой формы. Чтобы установить новую форму newForm в качестве стартовой, требуется в файле Program.cs в функции Main() строку запуска базовой формы
Application.Run(new Form1());
заменить строку запуска новой формы
Application.Run(new newForm());
После запуска проекта на выполнение будет запускаться унаследованная форма newForm.
⇑
Связанные темы
- Создание пятиугольной формы
- Компонент Label. Программное создание элемента управления Label. Класс MessageBox. Перечисление DialogResult
⇑