Рекомендации относительно типов элементов управления
Обновлен: Ноябрь 2007
Среда .NET Framework предоставляет возможности разработки и реализации новых элементов управления. Теперь можно создавать нестандартные элементы управления с собственным оформлением, помимо обычных пользовательских элементов, а также расширять функциональный диапазон существующих элементов управления путем наследования. Выбор типа создаваемого элемента управления может вызвать затруднения. В этом разделе описываются различия между типами элементов управления, которые можно наследовать, а также даются рекомендации о том, как выбрать тип, наиболее подходящий для конкретного проекта.
![]() |
---|
Если необходимо создать пользовательский элемент управления для использования в конструкторе Web Forms, см. раздел Разработка пользовательских серверных элементов управления ASP.NET. |
Наследование элементов управления Windows Forms
Наследуемый элемент управления можно получить из любого существующего элемента Windows Forms. Такой подход позволяет сохранить все стандартные функции элемента управления Windows Forms, а затем и расширить их путем добавления пользовательских свойств, методов или других функций. Например, можно создать элемент управления, производный от TextBox, который принимает только числа и автоматически преобразует входные данные в определенное значение. Такой элемент управления может содержать код проверки, который вызывается при каждом изменении текста в текстовом поле, и может иметь дополнительное свойство Value. В некоторых элементах управления к графическому интерфейсу можно добавить пользовательское оформление путем переопределения метода OnPaint базового класса.
Наследование из элемента управления Windows Forms рекомендуется применять в следующих случаях:
Если большинство необходимых функций аналогичны функциям уже существующего элемента управления Windows Forms.
Если нестандартный графический интерфейс не требуется или необходимо разработать новый графический интерфейс для существующего элемента управления.
Наследование класса UserControl
Пользовательский элемент управления — это коллекция элементов управления Windows Forms, инкапсулированных в общий контейнер. Контейнер хранит все функции, связанные с каждым элементом управления Windows Forms, и позволяет выборочно представлять и связывать их свойства. Примером пользовательского элемента управления может служить элемент управления, созданный для отображения адресных данных заказчика из базы данных. Этот элемент управления может включать несколько текстовых полей для отображения каждого компонента адреса, а также кнопки для перемещения по записям. Свойства привязки данных могут быть представлены выборочно, а весь элемент управления можно упаковать и повторно использовать в разных приложениях.
Наследование класса UserControl имеет смысл следующем случае:
- Если требуется объединить функции нескольких элементов управления Windows Forms в один блок для повторного использования.
Наследование класса Control
Другим способом разработки элемента управления является создание его с нуля путем наследования класса Control. Класс Control предоставляет все основные функции, необходимые элементам управления (например, события), однако он не содержит функции для элемента управления и графический интерфейс. Создание элемента управления путем наследования из класса Control — гораздо более сложная задача, чем наследование пользовательского элемента управления или существующего элемента управления Windows Forms. Разработчик должен написать код для события OnPaint элемента управления, а также код для функций. Однако в этом случае доступны более гибкие возможности, которые позволяют настроить элемент управления в точном соответствии с требованиями. Примером нестандартного элемента управления служит элемент "Часы", который выглядит и действует аналогично часам со стрелками. Можно применить пользовательское оформление, чтобы заставить стрелки часов двигаться в зависимости от событий Tick внутреннего компонента таймера.
Наследование класса Control имеет смысл следующем случае:
Если требуется определить пользовательское графическое представление элемента управления.
Если требуется реализовать пользовательские функции, которые недоступны в стандартных элементах управления.
См. также
Задачи
Руководство: Разработка простого элемента управления форм Windows Forms