Vue d'ensemble des événements UI Automation
Notes
Cette documentation s’adresse 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 dernières informations sur UI Automation, consultez API Windows Automation : UI Automation.
La notification d’événement Microsoft UI Automation est une fonctionnalité clé pour les technologies d’assistance comme les lecteurs d’écran et les loupes. Ces clients UI Automation suivent les événements déclenchés par les fournisseurs UI Automation quand quelque chose 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 fournisseurs de déclencher des événements de manière sélective, selon que des clients sont abonnés à ces événements ou non, si aucun client n'écoute d'événement.
Types d’événements
Les événements UI Automation s’inscrivent dans les catégories suivantes.
Événement | Description |
---|---|
Modification de propriété | Déclenché quand une propriété sur un modèle de contrôle ou sur un élément UI Automation 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 . Quand le contrôle de case à cocher est coché ou décoché, le fournisseur déclenche l'événement et le client peut agir de manière appropriée. |
Action d'élément | Déclenché quand une modification de l’interface utilisateur résulte de l’utilisateur final ou d’une activité de programmation ; par exemple, quand un utilisateur clique sur un bouton ou l’appelle via InvokePattern. |
Modification de la structure | Déclenchée quand la structure de l’arborescence UI Automation change. La structure évolue quand de nouveaux éléments de l’interface utilisateur deviennent visibles, sont masqués ou sont supprimés sur le Bureau. |
Modification globale du bureau | Déclenché quand des actions d'intérêt global pour le client se produisent, par exemple quand le focus passe d'un élément à un autre ou qu'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. Pendant le traitement d'un événement, une application cliente peut être amenée à vérifier ce qui a réellement changé avant d'agir.
Les événements suivants peuvent être déclenchés même quand 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 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 figurent dans le tableau ci-dessous, 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 de même nom issus de classes différentes.
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 nécessite 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 d' AutomationElement et des classes de modèle de contrôle telles que DockPattern.
Pour obtenir la liste des identificateurs d’événement, consultez UI Automation Events for Clients.