Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лр3_Компоненты.doc
Скачиваний:
3
Добавлен:
01.09.2019
Размер:
761.86 Кб
Скачать

1.2. Основные принципы создания элементов управления

Все элементы управления .NET Framework являются прямыми или косвенными потомками класса Control и наследуют от него базовый набор низкоуровневой функциональности, необходимой всем элементам управления. Например, Control предоставляет код для обработки данных, введенных пользователем с помощью клавиатуры и мыши, а также код, взаимодействующий с ОС. Кроме того, классы элементов управления получают от своего предка набор свойств, методов и событий, общих для всех элементов управления. Однако базовый класс не передает своим потомкам ни специфических функций, ни кода, формирующего интерфейс элемента управления.

Основных подходов к созданию элементов управления три:

• наследование от существующих элементов управления;

• объединение стандартных элементов управления в группы;

• написание нестандартных элементов управления "с нуля".

1.2.1. Наследование от существующих элементов управления

Проще всего создать новый элемент управления, объявив его на основе существующего. Созданный таким образом элемент управления не только сохраняет всю функциональность базового компонента, но и позволяет дополнить ее новыми возможностями.

Помимо функциональности, производный элемент управления унаследует от своего предка вид интерфейса. Например, элемент управления, производный от Button, внешне не отличается от обычной кнопки. Это освобождает от создания интерфейса для производных элементов управления, но при необходимости это можно сделать.

Большинство элементов управления Windows Forms, если они не определены с ключевым словом Notinheritable (sealed), могут служить базовыми классами для новых элементов управления. Например, это позволяет создать новый элемент управления TextBox с встроенным кодом для проверки значения поля или PictureBox, поддерживающий установку пользователем фильтров для отображаемых в нем изображений. Наследование также позволяет создавать элементы управления, функционально идентичные базовому элементу управления, но отличающиеся по внешнему виду. Пример — нестандартная кнопка, которая отличается от традиционной прямоугольной кнопки круглой формой.

Объявление новых элементов управления при помощи наследования считается простейшим способом их создания и требует минимальных затрат времени. Этот подход оптимален, если требуется передать большинство или все возможности существующего элемента управления Windows Forms новому элементу управления, добавив лишь несколько нестандартных функций. Данный способ удобен и в тех случаях, когда требуется изменить облик элемента управления, сохранив его функциональность. Если же требуется создать элемент управления с кардинально иной функциональностью, не следует объявлять его на основе существующего. В этом случае применяются способы, описанные в следующих разделах.

Таким образом, для того, чтобы создать новую компоненту на основе другой компоненты необходимо:

1. Объявить новый класс элемента управления на основе существующего класса элемента управления.

2. Реализовать все необходимые нестандартные возможности и добавить код, формирующий интерфейс производного элемента управления.