Fournir une prise en charge de l’annulation aux concepteursSupply undo support to designers

Les concepteurs, comme les éditeurs, doivent généralement prendre en charge les opérations d’annulation afin que les utilisateurs puissent annuler leurs modifications récentes lors de la modification d’un élément de code.Designers, like editors, typically need to support undo operations so that users can reverse their recent changes when modifying a code element.

La plupart des concepteurs implémentés dans Visual Studio ont une prise en charge de « annuler » automatiquement fournie par l’environnement.Most designers implemented in Visual Studio have "undo" support automatically provided by the environment.

Implémentations de concepteur qui doivent assurer la prise en charge de la fonctionnalité d’annulation :Designer implementations that need to provide support for the undo feature:

Pour plus d’informations sur l’écriture de concepteurs à l’aide de .NET Framework, consultez étendre la prise en charge des Design-Time.For more information on writing designers using .NET Framework, see Extend Design-Time Support.

Le Kit de développement logiciel Visual StudioVisual Studio SDK fournit une infrastructure d’annulation par défaut en procédant comme suit :The Kit de développement logiciel Visual StudioVisual Studio SDK provides a default undo infrastructure by:

Obtenir la prise en charge de l’annulation automatiquementObtain Undo Support Automatically

Tout concepteur créé dans Visual Studio dispose d’une prise en charge de l’annulation automatique et complète si, le concepteur :Any designer created in Visual Studio has automatic and full undo support if, the designer:

  • Utilise une classe de Control base pour son interface utilisateur.Makes use of a Control based class for its user interface.

  • Utilise le système de génération et d’analyse de code basé sur CodeDOM standard pour la génération et la persistance de code.Employs standard CodeDOM-based code generation and parsing system for code generation and persistence.

    Pour plus d’informations sur l’utilisation de la prise en charge de Visual Studio CodeDOM, consultez génération et compilation de code source dynamique.For more information about working with Visual Studio CodeDOM support, see Dynamic Source Code Generation and Compilation.

Quand utiliser la prise en charge de l’annulation explicite du concepteurWhen to Use Explicit Designer Undo Support

Les concepteurs doivent fournir leur propre gestion des annulations s’ils utilisent une interface utilisateur graphique, appelée adaptateur de vue, autre que celle fournie par 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.

Par exemple, vous pouvez créer un produit avec une interface de conception graphique basée sur le Web plutôt qu’une interface graphique de type .NET Framework.An example of this might be creating a product with a web-based graphical design interface rather than a .NET Framework-based graphical interface.

Dans ce cas, vous devez inscrire cet adaptateur d’affichage auprès de Visual Studio à l’aide de ProvideViewAdapterAttribute , et fournir une gestion d’annulation explicite.In such cases, one would need to register this view adapter with Visual Studio using ProvideViewAdapterAttribute, and provide explicit undo management.

Les concepteurs doivent fournir la prise en charge de CodeDOM et de la persistance s’ils n’utilisent pas le modèle de génération de code Visual Studio fourni dans l' System.CodeDom espace de noms.Designers need to provide CodeDOM and persistence support if they do not use the Visual Studio code generation model provided in the System.CodeDom name space.

Annuler les fonctionnalités de prise en charge du concepteurUndo Support Features of the Designer

Le kit de développement logiciel (SDK) Environment fournit des implémentations par défaut des interfaces nécessaires pour fournir une prise en charge de l’annulation qui peut être utilisée par les concepteurs qui n’utilisent pas Control de classes basées pour leurs interfaces utilisateur ou le modèle de persistance et CodeDom standard.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.

La OleUndoEngine classe dérive de la UndoEngine classe .NET Framework à l’aide d’une implémentation de la IOleUndoManager classe pour gérer les opérations d’annulation.The OleUndoEngine class derives from the .NET Framework UndoEngine class using an implementation of the IOleUndoManager class to manage undo operations.

Visual Studio fournit la fonctionnalité suivante pour annuler le concepteur :Visual Studio provides the following feature to designer undo:

Le kit de développement logiciel (SDK) Environment fournit la prise en charge de CodeDOM et de la persistance en fournissant :The Environment SDK provides CodeDOM and persistence support by supplying:

Utiliser les fonctionnalités du kit de développement logiciel (SDK) pour fournir une prise en charge d’annulationUse the Environment SDK Features to Supply Undo Support

Pour obtenir la prise en charge de l’annulation, un objet qui implémente un concepteur doit instancier et initialiser une instance de la OleUndoEngine classe avec une IServiceProvider implémentation valide.To obtain undo support, an object implementing a designer must instantiate and initialize an instance of the OleUndoEngine class with a valid IServiceProvider implementation. Cette IServiceProvider classe doit fournir les services suivants :This IServiceProvider class must provide the following services:

Les concepteurs qui implémentent un OleUndoEngine mécanisme d’annulation basé automatiquement effectue le suivi des modifications dans les cas suivants :Designers implementing a OleUndoEngine based undo mechanism automatically tracks changes if:

Voir aussiSee also