Partager via


Vue d'ensemble des événements UI Automation

Remarque

Cette documentation est destinée aux développeurs .NET Framework qui souhaitent utiliser les classes UI Automation managées définies dans l’espace de noms System.Windows.Automation. Pour obtenir les informations les plus récentes sur UI Automation, consultez API Windows Automation : UI Automation.

La notification des événements Microsoft UI Automation est une fonctionnalité essentielle pour les technologies d’assistance telles que les lecteurs d’écran et les loupes d’écran. Ces clients UI Automation suivent les événements déclenchés par les fournisseurs UI Automation lorsqu’un événement se produit dans l’interface utilisateur et utilisent les informations pour avertir les utilisateurs finaux.

L’efficacité est améliorée en permettant aux applications fournisseur de déclencher des événements de manière sélective, en fonction de l'abonnement des clients à ces événements, ou de ne pas en déclencher du tout si aucun client n'écoute d’événements.

Types d’événements

Les événements UI Automation se trouvent dans les catégories suivantes.

Événement Descriptif
Modification de propriété Déclenché lorsqu’une propriété sur un élément UI Automation ou un modèle de contrôle change. Par exemple, si un client doit surveiller le contrôle de case à cocher d'une application, il peut s'inscrire pour écouter un événement de modification de propriété sur la propriété ToggleState . Lorsque le contrôle de case à cocher est activé ou désactivé, le fournisseur déclenche l’événement et le client peut agir si nécessaire.
Action sur l'élément Déclenché lorsqu’une modification de l’interface utilisateur résulte de l’activité de l’utilisateur final ou de la programmation ; par exemple, lorsqu’un bouton est cliqué ou appelé via InvokePattern.
Modification de structure Déclenchée quand la structure de l’arborescence UI Automation change. La structure change lorsque de nouveaux éléments d’interface utilisateur deviennent visibles, masqués ou supprimés sur le bureau.
Changement global de bureau Déclenché lorsque des actions d’intérêt global pour le client se produisent, par exemple lorsque le focus passe d’un élément à un autre ou lorsqu’une fenêtre se ferme.

Certains événements ne signifient pas nécessairement que l’état de l’interface utilisateur a changé. Par exemple, si l’utilisateur accède à un champ d’entrée de texte, puis clique sur un bouton pour mettre à jour le champ, il TextChangedEvent est déclenché même si l’utilisateur n’a pas réellement modifié le texte. Lors du traitement d’un événement, il peut être nécessaire qu’une application cliente vérifie si quelque chose a réellement changé avant d’agir.

Les événements suivants peuvent être déclenchés même lorsque l’état de l’interface utilisateur n’a pas changé.

  • AutomationPropertyChangedEvent (selon la propriété qui a changé)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Identificateurs d'événements UI Automation

Les événements Microsoft UI Automation sont identifiés par AutomationEvent objets. La Id propriété contient une valeur qui identifie de manière unique le type d’événement.

Les valeurs possibles pour Id sont fournies dans le tableau suivant, ainsi que le type utilisé pour les arguments d’événement. Notez que les identificateurs utilisés par les clients et les fournisseurs sont des champs nommés de manière identique à partir de différentes classes.

Identificateur du client Identificateur du fournisseur Type d’arguments d’événement
AutomationElement.AsyncContentLoadedEvent AutomationElementIdentifiers.AsyncContentLoadedEvent AsyncContentLoadedEventArgs
SelectionItemPattern.ElementAddedToSelectionEvent

SelectionItemPattern.ElementRemovedFromSelectionEvent

SelectionItemPattern.ElementSelectedEvent

SelectionPattern.InvalidatedEvent

InvokePattern.InvokedEvent

AutomationElement.LayoutInvalidatedEvent

AutomationElement.MenuClosedEvent

AutomationElement.MenuOpenedEvent

TextPattern.TextChangedEvent

TextPattern.TextSelectionChangedEvent

AutomationElement.ToolTipClosedEvent

AutomationElement.ToolTipOpenedEvent

WindowPattern.WindowOpenedEvent
SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent

SelectionItemPatternIdentifiers.ElementRemovedFromSelectionEvent

SelectionItemPatternIdentifiers.ElementSelectedEvent

SelectionPatternIdentifiers.InvalidatedEvent

InvokePatternIdentifiers.InvokedEvent

AutomationElementIdentifiers.LayoutInvalidatedEvent

AutomationElementIdentifiers.MenuClosedEvent

AutomationElementIdentifiers.MenuOpenedEvent

TextPatternIdentifiers.TextChangedEvent

TextPatternIdentifiers.TextSelectionChangedEvent

AutomationElementIdentifiers.ToolTipClosedEvent

AutomationElementIdentifiers.ToolTipOpenedEvent

WindowPatternIdentifiers.WindowOpenedEvent
AutomationEventArgs
AutomationElement.AutomationFocusChangedEvent AutomationElementIdentifiers.AutomationFocusChangedEvent AutomationFocusChangedEventArgs
AutomationElement.AutomationPropertyChangedEvent AutomationElementIdentifiers.AutomationPropertyChangedEvent AutomationPropertyChangedEventArgs
AutomationElement.StructureChangedEvent AutomationElementIdentifiers.StructureChangedEvent StructureChangedEventArgs
WindowPattern.WindowClosedEvent WindowPatternIdentifiers.WindowClosedEvent WindowClosedEventArgs

Arguments d'événement UI Automation

Les classes suivantes encapsulent les arguments d’événement.

classe Descriptif
AsyncContentLoadedEventArgs Contient des informations sur le chargement asynchrone du contenu, y compris le pourcentage de chargement terminé.
AutomationEventArgs Contient des informations sur un événement simple qui ne nécessite aucune donnée supplémentaire.
AutomationFocusChangedEventArgs Contient des informations sur une modification du focus d’entrée d’un élément à un autre. Les événements de ce type sont déclenchés par le système UI Automation, et non par les fournisseurs.
AutomationPropertyChangedEventArgs Contient des informations sur une modification d’une valeur de propriété d’un élément ou d’un modèle de contrôle.
StructureChangedEventArgs Contient des informations sur une modification dans l’arborescence UI Automation.
WindowClosedEventArgs Contient des informations sur la fermeture d’une fenêtre.

Toutes les classes d’argument d’événement contiennent un EventId membre. Cet identificateur est encapsulé dans un AutomationEvent.

Les AutomationEvent objets utilisés pour identifier les événements sont obtenus par des fournisseurs à partir de champs dans AutomationElementIdentifiers et de classes d’identificateur de modèle de contrôle telles que DockPatternIdentifiers. Les champs équivalents sont obtenus par les applications clientes à partir de champs dans AutomationElement et de classes de modèles de contrôle telles que DockPattern.

Pour obtenir la liste des identificateurs d’événements, consultez UI Automation Events for Clients.

Voir aussi