UndoEngine Classe

Définition

Spécifie la fonctionnalité générique Annuler/Refaire au moment du design.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Héritage
UndoEngine
Implémente

Remarques

La UndoEngine classe abstraite fournit une implémentation par défaut de la fonctionnalité d’annulation au moment du design. Une unité d’annulation représente une seule unité de travail indotable. Cette unité est ajoutée à une pile et l’utilisateur peut ensuite parcourir la pile pour annuler chaque action. Les unités d’annulation sont généralement conçues pour basculer, ce qui signifie que l’appel d’annulation deux fois retourne l’application à son état de départ.

La UndoEngine classe tire parti des caractéristiques suivantes des objets exécutés dans le concepteur :

  • Tous les objets intéressants peuvent être conservés dans un format par le chargeur du concepteur.

  • Tous les objets déclenchent des notifications de modification de propriété lorsqu’une propriété est modifiée.

  • IDesignerHost offre l’idée de transactions, qui peut être utilisée pour fabriquer une action d’annulation qui s’étend sur plusieurs actions plus petites.

Avec ces fonctionnalités, UndoEngine peut fabriquer automatiquement toutes les unités d’annulation dont il a besoin.

Notes

Ne modifiez pas directement les valeurs des propriétés. La UndoEngine classe vous oblige à utiliser le approprié TypeDescriptor pour modifier les valeurs de propriété.

UndoEngine surveille les notifications de modification pour créer des unités d’annulation, et les unités elles-mêmes se composent d’états d’objet sérialisés. Le tableau suivant montre les services qui doivent être disponibles lors de UndoEngine la création.

Service Description
ComponentSerializationService Enregistre les valeurs de propriété et d’objet d’un composant avant et après qu’une modification soit apportée.
IComponentChangeService Notifie le moteur d’annulation des modifications apportées aux composants.
IDesignerHost Utilisé pour effectuer le suivi des transactions.

Notes

Étant donné que la UndoEngine classe nécessite ComponentSerializationService et IComponentChangeService, elle est disponible uniquement au moment du design.

Le moteur d’annulation suit les transactions et crée une unité d’annulation unique qui englobe une transaction. Par conséquent, le moteur d’annulation contrôle la durée d’une action annulable. En outre, étant donné que les transactions peuvent être nommées, les actions non modifiables héritent de leur nom de la transaction actuelle. Si aucune transaction n’est disponible et qu’une modification est signalée, le moteur d’annulation crée un nom d’annulation en fonction du type de modification (par exemple, « Modifier la propriété 'Text' »).

Constructeurs

UndoEngine(IServiceProvider)

Initialise une nouvelle instance de la classe UndoEngine.

Propriétés

Enabled

Active ou désactive UndoEngine.

UndoInProgress

Indique si une opération d'annulation est en cours.

Méthodes

AddUndoUnit(UndoEngine+UndoUnit)

Ajoute UndoEngine.UndoUnit à la pile d'annulation.

CreateUndoUnit(String, Boolean)

Crée un UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Élimine UndoEngine.UndoUnit.

Dispose()

Libère toutes les ressources utilisées par UndoEngine.

Dispose(Boolean)

Libère les ressources non managées utilisées par UndoEngine et libère éventuellement les ressources managées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetRequiredService(Type)

Obtient le service demandé.

GetService(Type)

Obtient le service demandé.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnUndoing(EventArgs)

Déclenche l’événement Undoing.

OnUndone(EventArgs)

Déclenche l’événement Undone.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Événements

Undoing

Se produit immédiatement avant l'exécution d'une opération d'annulation.

Undone

Se produit immédiatement après l'exécution d'une opération d'annulation.

S’applique à

Voir aussi