Fornecendo suporte à função desfazer para designersSupplying Undo Support to Designers

Designers, editores, como o geralmente necessário dar suporte a operações de desfazer, para que os usuários podem reverter suas alterações recentes ao modificar um elemento de código.Designers, like editors, typically need to support undo operations so that users can reverse their recent changes when modifying a code element.

A maioria dos designers implementados no Visual Studio têm suporte de desfazer automaticamente fornecido pelo ambiente.Most designers implemented in Visual Studio have undo support automatically provided by the environment.

Implementações de designer que precisam para fornecer suporte para o recurso de desfazer:Designer implementations that need to provide support for the undo feature:

Como obter suporte à função desfazer automaticamenteObtaining Undo Support Automatically

Qualquer designer criado no Visual StudioVisual Studio tem suporte à função desfazer automática e completa se, o designer:Any designer created in Visual StudioVisual Studio has automatic and full undo support if, the designer:

  • Faz uso de um Control com base em classe para sua interface do usuário.Makes use of a Control based class for its user interface.

  • Emprega a geração de código padrão com base em CodeDOM e sistema de análise para persistência e geração de código.Employs standard CodeDOM-based code generation and parsing system for code generation and persistence.

    Para obter mais informações sobre como trabalhar com o suporte do CodeDOM do Visual Studio, consulte geração dinâmica de código fonte e compilaçãoFor more information on working with Visual Studio CodeDOM support, see Dynamic Source Code Generation and Compilation

Quando usar o suporte à função desfazer de Designer explícitaWhen to Use Explicit Designer Undo Support

Designers devem fornecer seu próprio gerenciamento de desfazer se eles usarem uma interface gráfica do usuário, conhecida como um adaptador de exibição, que não seja um fornecido pelo Control.Designers must supply their own undo management if they use a graphical user interface, referred to as a view adapter, other than the one supplied by Control.

Um exemplo disso pode estar criando um produto com uma interface de design gráfico baseado na web em vez de um .NET Framework.NET Framework com base em interface gráfica.An example of this might be creating a product with a web-based graphical design interface rather than a .NET Framework.NET Framework based graphical interface.

Nesses casos, uma pessoa precisaria registrar esse adaptador de exibição com Visual StudioVisual Studio usando ProvideViewAdapterAttributee fornecer gerenciamento explícito de desfazer.In such cases, one would need to register this view adapter with Visual StudioVisual Studio using ProvideViewAdapterAttribute, and provide explicit undo management.

Designers precisam fornecer suportam de CodeDOM e persistência se não usar o Visual StudioVisual Studio fornecido no modelo de geração de código a System.CodeDom para nome.Designers need to provide CodeDOM and persistence support if they do not use the Visual StudioVisual Studio code generation model provided in the System.CodeDom name space.

Recursos de suporte do Designer de desfazerUndo Support Features of the Designer

O SDK do ambiente fornece implementações padrão de interfaces necessárias para fornecer suporte que pode ser usado pelos designers não usando de desfazer Control com base em classes para suas interfaces de usuário ou o modelo de CodeDOM e persistência padrão.The Environment SDK provides default implementations of interfaces needed to provide undo support that can be used by designers not using Control based classes for their user interfaces or the standard CodeDOM and persistence model.

O OleUndoEngine classe deriva de .NET Framework.NET Framework UndoEngine classe usando uma implementação do IOleUndoManager classe para gerenciar operações de desfazer.The OleUndoEngine class derives from the .NET Framework.NET Framework UndoEngine class using an implementation of the IOleUndoManager class to manage undo operations.

O Visual Studio fornece o recurso a seguir para desfazer designer:Visual Studio provides the following feature to designer undo:

Usando recursos do SDK de ambiente para fornecer suporte à função desfazerUsing the Environment SDK Features to Supply Undo Support

Para obter suporte à função desfazer, um objeto que implementa um designer deve:To obtain undo support, an object implementing a designer must:

Consulte tambémSee Also

UndoEngine
OleUndoEngine
Estendendo o suporte ao tempo de designExtending Design-Time Support