Рекомендации относительно типов элементов управления

Обновлен: Ноябрь 2007

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

yah0tcw1.alert_note(ru-ru,VS.90).gifПримечание.

Если необходимо создать пользовательский элемент управления для использования в конструкторе 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 имеет смысл следующем случае:

  • Если требуется определить пользовательское графическое представление элемента управления.

  • Если требуется реализовать пользовательские функции, которые недоступны в стандартных элементах управления.

Topic Location
Практическое руководство. Создание элемента управления Windows Forms, в котором используются преимущества функций, применяемых во время разработки .NET Framework: разработка приложений
Практическое руководство. Отображение элемента управления в диалоговом окне настройки панели элементов Элементы управления Windows Forms
Пошаговое руководство. Сериализация коллекций стандартных типов с использованием атрибута DesignerSerializationVisibilityAttribute Элементы управления Windows Forms
Пример. Наследование элементов управления форм Windows Forms с помощью Visual C# Элементы управления Windows Forms
Практическое руководство. Предоставление точечного рисунка панели элементов для элемента управления Элементы управления Windows Forms
Практическое руководство. Наследование существующих элементов управления Windows Forms Элементы управления Windows Forms
Пример. Отладка пользовательских элементов управления Windows Forms во время разработки Элементы управления Windows Forms
Практическое руководство. Наследование класса Control. Элементы управления Windows Forms
Практическое руководство. Тестирование поведения элемента UserControl во время выполнения Элементы управления Windows Forms
Практическое руководство. Выравнивание элементов управления по границам формы во время выполнения Элементы управления Windows Forms
Практическое руководство. Наследование класса UserControl. Элементы управления Windows Forms
Практическое руководство. Создание элементов управления для форм Windows Forms Элементы управления Windows Forms
Практическое руководство. Создание составных элементов управления Элементы управления Windows Forms
Пример. Создание составного элемента управления с помощью Visual Basic Элементы управления Windows Forms
Пример. Создание составного элемента управления с помощью C# Элементы управления Windows Forms
Пример. Наследование элементов управления форм Windows Forms с помощью Visual Basic Элементы управления Windows Forms
Практическое руководство. Создание элемента управления Windows Forms, в котором используются преимущества функций, применяемых во время разработки dv_fxdeveloping
Практическое руководство. Отображение элемента управления в диалоговом окне выбора элементов панели элементов dv_mclictl
Пошаговое руководство. Сериализация коллекций стандартных типов с использованием атрибута DesignerSerializationVisibilityAttribute dv_mclictl
Пример. Наследование элементов управления форм Windows Forms с помощью Visual C# dv_mclictl
Практическое руководство. Предоставление точечного рисунка панели элементов для элемента управления dv_mclictl
Практическое руководство. Наследование существующих элементов управления Windows Forms dv_mclictl
Пример. Отладка пользовательских элементов управления Windows Forms во время разработки dv_mclictl
Практическое руководство. Наследование класса Control. dv_mclictl
Практическое руководство. Тестирование поведения элемента UserControl во время выполнения dv_mclictl
Практическое руководство. Выравнивание элементов управления по границам формы во время выполнения dv_mclictl
Практическое руководство. Наследование класса UserControl. dv_mclictl
Практическое руководство. Создание элементов управления для форм Windows Forms dv_mclictl
Практическое руководство. Создание составных элементов управления dv_mclictl
Пример. Создание составного элемента управления с помощью Visual Basic dv_mclictl
Пример. Создание составного элемента управления с помощью C# dv_mclictl
Пример. Наследование элементов управления форм Windows Forms с помощью Visual Basic dv_mclictl
Практическое руководство. Создание элемента управления Windows Forms, в котором используются преимущества функций, применяемых во время разработки dv_fxdeveloping

См. также

Задачи

Руководство: Разработка простого элемента управления форм Windows Forms

Основные понятия

Создание собственных элементов управления