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


поставляя поддержка отката к конструкторам

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

Большинство конструкторов, реализованные в Visual Studio поддерживают отката автоматически быть предоставленного средой.

Реализации конструктора, которые должны обеспечивать поддержку функции rollback:

  • Обеспечьте управление отката, реализовав абстрактный базовый класс UndoEngine

  • Предоставляет механизм сохраняемости и поддержка CodeDOM посредством реализации IDesignerSerializationService и IComponentChangeService классы.

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

SDK для Visual Studio предоставляет инфраструктуру отката по умолчанию:

Получение поддержкой отката автоматически

Любой созданный в конструкторе Visual Studio автоматическая и имеет полную поддержку отката, если конструктор:

  • Использует a Control на основе класса для своего пользовательского интерфейса.

  • Использует стандартное CodeDOM-основанное code generation и система анализа для создания и сохранения кода.

    Дополнительные сведения о работе с поддержкой CodeDOM Visual Studio см. в разделе Динамическое создание и компиляция исходного кода

Когда использовать явную поддержку отката конструктора

Конструкторы должны предоставить собственное отката, если элемент управления использует графический интерфейс, с именем адаптер представления, кроме одного, переданного by Control.

Примером этого может создать продукт с размещённый в интернете графическим интерфейсом проектирования вместо a основанный графического интерфейса.

В таких случаях одному необходимо зарегистрировать этот адаптер представления с Visual Studio использование ProvideViewAdapterAttributeи укажите точное управление отката.

Конструкторам, необходимо предоставить CodeDOM и поддержку сохраняемости, если они не используют Visual Studio модель создания кода в предоставленной System.CodeDom пространство имен.

Функции поддержки отката конструктора

Пакет SDK для среды предоставляют реализации по умолчанию интерфейсы, необходимые для обеспечения поддержки отката, которая может использоваться конструкторами не используется Control на основе классы для их пользовательских интерфейсов или стандартных CodeDOM и сохраняемости.

OleUndoEngine класс является производным от  UndoEngine класс, используя реализацию интерфейса IOleUndoManager класс для управления операции отката.

Visual Studio предоставляет следующие функции откат конструктора:

  • Связанная функциональность отката через несколько конструкторов.

  • Единицы дочернего элемента внутри конструктора могут взаимодействовать с их путем реализации родительскиями IOleUndoUnit и IOleParentUndoUnit на UndoUnit.

Пакет SDK для среды предоставляет CodeDOM и поддержку сохраняемости, указав:

A IComponentChangeService предоставляется Visual Studio основное приложение разработки.

Использование функций пакет SDK для среды для предоставления поддержки отката

Получить поддержку отката объект, реализующий конструктор:

Конструкторы, a OleUndoEngine основанный механизм отката автоматически отслеживает изменений, если:

  • Изменения свойств выполняются через TypeDescriptor объект.

  • IComponentChangeService события создаются вручную, когда отменяемой подтверждении действия.

  • Изменение в конструкторе созданного в контексте a DesignerTransaction.

  • Конструктор выбирает для явного создания единицы отката с помощью то стандартная единица отката предоставленная реализацией UndoUnit реализация Студи-специфического или визуальную UndoUnit, которую наследует UndoUnit а также предоставляет реализацию обоих IOleUndoUnit и IOleParentUndoUnit.

См. также

Ссылки

UndoEngine

OleUndoEngine

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

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