Пользовательские конструкторы
Платформа .NET Framework предоставляет возможность задавать пользовательское поведение для типа компонентов в режиме конструктора. Конструкторы — это классы, реализующие логику, определяющую отображение или поведение типа во время конструирования. Все конструкторы реализуют интерфейс System.ComponentModel.Design.IDesigner. Конструкторы связываются с типами или членами типов при помощи атрибута DesignerAttribute. В режиме конструирования конструктор может выполнять задачи после создания связанного с ним компонента или элемента управления.
В режиме конструктора конструкторы могут выполнять самые различные типы задач. С помощью конструкторов можно:
Менять и расширять поведение или внешний вид компонентов и элементов управления в режиме конструктора.
Выполнять пользовательскую инициализацию компонентов в режиме конструктора.
Обращаться к службам времени конструирования, а также конфигурировать и создавать компоненты в проекте.
Добавлять пункты контекстного меню компонента.
Настраивать атрибуты, события и свойства, предоставляемые компонентом, с которым связан конструктор.
Конструкторы могут играть важную роль в размещении и конфигурации компонентов, а также в обеспечении адекватного функционирования компонента в режиме конструктора, которое в противном случае зависело бы от служб и интерфейсов, доступных лишь во время выполнения.
Для упрощения конфигурации в режиме конструктора некоторым элементам управления требуются визуальные подсказки. Например, объект System.Windows.Forms.Panel может не иметь видимой границы во время выполнения программы. Без границы панель нельзя увидеть на форме с тем же цветом фона. Поэтому конструктор объекта System.Windows.Forms.Panel рисует по периметру панели пунктирную линию.
Пространство имен System.ComponentModel.Design содержит основные интерфейсы, которые могут быть использованы разработчиком при построении поддержки времени конструирования.
В этом подразделе
Базовые классы конструктора
Описание классов и интерфейсов, которые можно использовать для построения пользовательского интерфейса времени конструирования.Фильтрация метаданных
Описание способов изменения набора свойств, атрибутов и событий, предоставляемых компонентом или элементом управления во время конструирования.Команды конструктора
Описание способов добавления команд контекстного меню для компонентов во время конструирования.Практическое руководство. Обращение к службам времени разработки
Описание способов получения доступа к службам времени конструирования и их использования.Практическое руководство. Реализация конструктора для элемента управления
Демонстрируется, как реализовать конструктор для элемента управления поставщика расширителя.Практическое руководство. Расширение внешнего вида и функциональности элементов управления в режиме конструктора
Демонстрируется, как создать пользовательский конструктор, который изменяет внешний вид и поведение элемента управления во время разработки.Практическое руководство. Выполнение настраиваемой инициализации для элементов управления в режиме конструктора
Демонстрируется, как инициализировать компоненты и элементы управления при их создании в среде разработки.Практическое руководство. Создание и настройка компонентов в режиме конструктора
Демонстрируется, как программно создавать компоненты в среде разработки.Практическое руководство. Настройка атрибутов, событий и свойств компонента в режиме конструктора
Демонстрируется, как изменить интерфейс API компонента во время разработки.Практическое руководство. Создание элемента управления Windows Forms, в котором используются преимущества функций, применяемых во время разработки
Описание создания пользовательского элемента управления и связанного с ним пользовательского конструктора.
Связанные подразделы
Программирование с использованием компонентов
Определение сущности компонента и общие сведения о программировании для платформы .NET Framework.Разработка пользовательских элементов управления Windows Forms в .NET Framework
Описание способов создания пользовательских элементов управления для Windows Forms.Разработка пользовательских серверных элементов управления ASP.NET
Описание способов создания пользовательских серверных элементов управления ASP.NET.