Поделиться через


Новые возможности поддержки во время разработки для платформы .NET Framework 2.0

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

Усовершенствования панели элементов

Панель элементов в Visual Studio теперь позволяет упорядочить компоненты и элементы управления по категориям. Заполнение панели компонентами и элементами управления выполняется автоматически.  

Поддержка функции DesignerAction

Функция DesignerAction позволяет компонентам и элементам управления отображать контекстные данные и команды. Функцию DesignerAction можно представить как замену команд конструктора, поскольку класс DesignerActionItem может отображаться в области смарт-тега и также в контекстном меню, сопоставленном компоненту или элементу управления. Класс DesignerActionList представляет главную точку взаимодействия для разработчиков, которые хотят добавить поддержку смарт-тегов в собственные компоненты и элементы управления. Дополнительные сведения см. в разделе Практическое руководство. Вложение смарт-тегов в компонент Windows Forms.

Улучшение макета конструктора для Windows Forms

Теперь для сред выполнения и разработки доступна улучшенная поддержка макетов.

Среда разработки

Элементы управления Windows Forms поддерживают линии привязки, которые упрощают выравнивание элементов управления в форме. Класс SnapLine предоставляет реализацию для добавления линий привязки к пользовательским элементам управления.

Дополнительные сведения см. в следующем разделе. Пример. Упорядочение элементов управления в формах Windows Forms с помощью линий привязки и Пример. Упорядочение элементов управления в формах Windows Forms с помощью линий привязки..

Время выполнения

TableLayoutPanel и FlowLayoutPanel являются элементами управления Windows Forms, которые разрешают сценарии, требующие использования динамических макетов и пропорционального изменения размеров. Дополнительные сведения см. в разделах Элемент управления TableLayoutPanel (Windows Forms) и Элемент управления FlowLayoutPanel (Windows Forms).

Расширение функциональности пользовательского макета можно реализовать с помощью свойства Control.LayoutEngine и класса LayoutEngine. Дополнительные сведения см. в разделе Практическое руководство. Реализация пользовательского механизма размещения элементов управления в форме.

Реализации интерфейсов по умолчанию

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

Базовый класс

Реализует.

BasicDesignerLoader

IDesignerLoaderService

CodeDomDesignerLoader

IDesignerSerializationService

CustomTypeDescriptor

ICustomTypeDescriptor

DesignerSerializationManager

IDesignerSerializationManager

NestedContainer

INestedContainer

ToolboxService

IToolboxService

Реализации базовых классов конструктора

В следующей таблице приведены классы, реализующие инфраструктуру конструктора, которые теперь можно использовать и расширять:

Базовый класс

Описание

CodeDomSerializerBase

Предоставляет базовый класс для классов CodeDomSerializer.

ComponentSerializationService

Выполняет сериализацию набора компонентов или сериализуемых объектов в хранилище сериализации.

ContainerFilterService

Предоставляет базовый класс для службы фильтра контейнера.

TypeDescriptionProvider

Предоставляет дополнительные метаданные для TypeDescriptor.

Службы конструктора

Инфраструктура конструктора предоставляет расширенный набор служб конструктора, облегчающих выполнение всех требований клиентов в процессе разработки. Дополнительные сведения см. в разделе Архитектура времени разработки.

Разложение внешнего вида и расширения функциональности конструктора для Windows Forms

В ранних версиях .NET Framework пользовательские конструкторы Windows Forms содержали всю логику, необходимую для обработки операций с мышью и клавиатурой. Новые классы Glyph, Behavior и Adorner позволяют выполнить оптимизацию кода внешнего вида и расширений функциональности кода в специальные настраиваемые типы. Дополнительные сведения см. в разделе Практическое руководство. Расширение внешнего вида и функциональности элементов управления в режиме конструктора.

Оснастки расширения TypeDescriptor

Класс TypeDescriptionProvider реализует расширяемость для класса TypeDescriptor. Это позволяет использовать некоторые расширенные сценарии, включая подстановку экземпляров, подстановку метаданных, перенаправление атрибутов, а также подстановку и затенение целевого значения.

Дополнительные сведения см. в разделе Общие сведения о дескрипторах типов.

Универсальная поддержка отмены и повтора действия

Класс UndoEngine предоставляет универсальную поддержку отмены и повтора действия для смены значений свойств компонентов. Класс DesignerTransaction разрешает транзакционную обработку отдельных единиц работы, которые можно подтвердить или откатить. Можно последовательно вносить в компоненты изменения, а затем одновременно принять или отменить их все.

Примеры кода

Пакет средств разработки программного обеспечения (SDK) для Windows теперь содержит больше примеров кода, демонстрирующих разработку пользовательского конструктора. Дополнительные сведения см. в разделах Программирование с использованием практических руководств и примеров. и Практические и пошаговые руководства по расширению поддержки режима разработки.

Topic Location
Создание элементов управления Windows Forms во время разработки Элементы управления Windows Forms
Создание элементов управления Windows Forms во время разработки dv_mclictl

См. также

Другие ресурсы

Расширение поддержки времени разработки

Пользовательские конструкторы