C#. Windows Forms. Пример разработки унаследованной формы

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 для завершения добавления новой наследуемой формы.

 

C#. Windows Forms. Microsoft Visual Studio 2019. Команда добавления новой формы

Рисунок 1. Команда добавления новой формы

 

C#. Windows Forms. Microsoft Visual Studio 2019. Окно "Add New Item...". Добавление унаследованной формы

Рисунок 2. Окно «Add New Item…». Добавление унаследованной формы

 

C#. Windows Forms. Microsoft Visual Studio 2019. Настройка базовой формы

Рисунок 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.

 


Связанные темы