Vue d'ensemble des événements UI Automation

RemarqueRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui veulent 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 (page éventuellement en anglais).

La notification d'événement Microsoft UI Automation est une fonctionnalité clé pour les technologies d'assistance telles que les lecteurs d'écran et les loupes d'écran. Ces clients UI Automation suivent les événements qui sont déclenchés par des fournisseurs UI Automation lorsqu'un incident survient dans l'UI et utilisent les informations pour avertir les utilisateurs finaux.

L'efficacité est améliorée en permettant aux applications fournisseurs de déclencher des événements de façon sélective, selon que des clients sont abonnés à ces événements ou non, si aucun client n'écoute d'événement.

Cette rubrique comprend les sections suivantes.

  • Types d'événements
  • Identificateurs d'événement UI Automation
  • Arguments d'événement UI Automation
  • Rubriques connexes

Types d'événements

Les événements UI Automation sont répartis dans les catégories suivantes.

Événement

Description

Modification de la propriété

Déclenché lors de la modification d'une propriété sur un élément UI Automation ou un modèle de contrôle. Par exemple, si un client doit surveiller le contrôle Check Box d'une application, il peut s'inscrire pour écouter un événement de modification de la propriété sur la propriété ToggleState. Lorsque le contrôle Check Box est vérifié ou non vérifié, le fournisseur déclenche l'événement et le client peut agir de manière appropriée.

Action élément

Déclenché lorsqu'une modification de l'UI résulte de l'utilisateur final ou d'une activité de programmation ; par exemple, lorsqu'un utilisateur clique sur un bouton ou l'appelle via InvokePattern.

Modification de la structure

Déclenché lors de la modification de la structure de l'arborescence UI Automation. La structure change lorsque de nouveaux éléments d'UI sont visibles, masqués ou supprimés du bureau.

Modification globale du 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 passe à un champ de saisie de texte via une tabulation, puis clique sur un bouton pour mettre à jour le champ, un TextChangedEvent est déclenché même si l'utilisateur n'a pas réellement changé le texte. Lors du traitement d'un événement, il peut être nécessaire pour une application cliente de vérifier ce qui 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énement UI Automation

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

Les valeurs possibles pour Id sont données dans le tableau suivant, avec le type utilisé pour les arguments d'événement. Notez que les identificateurs utilisés par les clients et les fournisseurs sont des champs de même nom issus de classes différentes.

Identificateur client

Identificateur 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 des arguments d'événement.

Classe

Description

AsyncContentLoadedEventArgs

Contient des informations concernant le chargement asynchrone de contenu, notamment le pourcentage de chargement effectué.

AutomationEventArgs

Contient des informations sur un événement simple qui ne requiert pas de données supplémentaires.

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, pas par les fournisseurs.

AutomationPropertyChangedEventArgs

Contient des informations sur la modification de la valeur d'une 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 une fermeture de fenêtre.

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

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

Pour obtenir la liste des identificateurs d'événement, consultez Événements UI Automation pour les clients.

Voir aussi

Tâches

S'abonner à des événements UI Automation

Concepts

Événements UI Automation pour les clients

Implémentation de fournisseur UI Automation côté serveur