提供取消支持对设计器

设计器,如编辑器,通常需要支持取消操作,以便用户可撤消它们的最新更改,当修改代码元素。

在 Visual Studio 中实现的大多数设计器有取消支持自动提供由环境。

需要提供的设计器实现取消功能支持:

有关使用 .NET Framework编写设计器的更多信息,请参见 扩展设计时支持

Visual Studio SDK 提供一个默认取消基础结构:

获取取消自动支持

在 Visual Studio 创建的所有设计器都具有自动和完整取消支持,则,设计器:

  • 利用其用户界面的 Control 基类。

  • 使用标准基于 CodeDOM 的代码生成和代码生成和持久性的分析系统。

    有关与 Visual Studio 结合使用的更多信息,请参见 动态源代码生成和编译CodeDOM 支持

使用显式设计器何时请取消支持

设计器必须为这些标记来取消管理,如果应用程序使用图形用户界面 (gui),称为视图 " 适配器,除了提供该 UI 由 Control

此示例可能创建产品使用基于 web 的图形设计接口而不是 .NET Framework 基于图形界面。

在这种情况下,使用 ProvideViewAdapterAttribute,将需要注册了 Visual Studio 的视图适配器,并提供显式移除管理。

设计器需要提供 CodeDOM,并继续时支持,如果是在 System.CodeDom 命名空间不使用提供的 Visual Studio 代码生成模型。

取消支持设计器的功能

环境 SDK 提供可由设计器使用不使用 Control 基类为用户界面或标准 CodeDOM 以及持久性设计必需的接口的默认实现提供取消支持。

OleUndoEngine 类从 .NET Framework UndoEngine 类派生使用 IOleUndoManager 类的实现托管取消操作。

Visual Studio 提供以下功能。设计器移除:

环境 SDK 提供 CodeDOM,并继续时通过提供支持:

Visual Studio 设计宿主提供的 IComponentChangeService

使用环境提供 SDK 功能请取消支持

若要获取请取消支持,实现设计器的对象必须:

实现 OleUndoEngine 的设计器基于自动移除 framework 跟踪更改,则:

请参见

参考

UndoEngine

OleUndoEngine

其他资源

扩展设计时支持