Delen via


Overzicht van UI Automation-gebeurtenissen

Notitie

Deze documentatie is bedoeld voor .NET Framework-ontwikkelaars die de beheerde UI Automation-klassen willen gebruiken die zijn gedefinieerd in de System.Windows.Automation naamruimte. Zie Windows Automation-API: UI Automation voor de meest recente informatie over UI Automation.

Microsoft UI Automation-gebeurtenismelding is een belangrijke functie voor ondersteunende technologieën, zoals schermlezers en schermvergrotingen. Deze UI Automation-clients houden gebeurtenissen bij die worden gegenereerd door UI Automation-providers wanneer er iets gebeurt in de gebruikersinterface en de informatie gebruiken om eindgebruikers op de hoogte te stellen.

De efficiëntie wordt verbeterd doordat providertoepassingen selectief gebeurtenissen kunnen genereren, afhankelijk van of clients zijn geabonneerd op deze gebeurtenissen, of helemaal niet, als er geen clients naar gebeurtenissen luisteren.

Typen gebeurtenissen

UI Automation-gebeurtenissen worden onderverdeeld in de volgende categorieën.

Gebeurtenis Beschrijving
Eigenschapswijziging Wordt gegenereerd wanneer een eigenschap in een UI Automation-element of besturingspatroon verandert. Als een client bijvoorbeeld het selectievakjebesturingselement van een toepassing moet bewaken, kan deze zich registreren om te luisteren naar een gebeurtenis voor het wijzigen van eigenschappen op de ToggleState eigenschap. Wanneer het besturingselement selectievakje is ingeschakeld of uitgeschakeld, roept de provider de gebeurtenis op en kan de client indien nodig handelen.
Elementactie Gegenereerd wanneer een wijziging in de gebruikersinterface het resultaat is van een eindgebruiker of programmatische activiteit; Bijvoorbeeld wanneer er op een knop wordt geklikt of aangeroepen.InvokePattern
Structuurwijziging Gegenereerd wanneer de structuur van de UI Automation-structuur verandert. De structuur verandert wanneer nieuwe UI-items zichtbaar, verborgen of verwijderd worden op het bureaublad.
Wijziging van het globale bureaublad Gegenereerd wanneer acties van algemeen belang voor de client plaatsvinden, zoals wanneer de focus van het ene element naar het andere wordt verplaatst of wanneer een venster wordt gesloten.

Sommige gebeurtenissen betekenen niet noodzakelijkerwijs dat de status van de gebruikersinterface is gewijzigd. Als de gebruiker bijvoorbeeld tabs naar een tekstinvoerveld en vervolgens op een knop klikt om het veld bij te werken, wordt er een TextChangedEvent verhoogd, zelfs als de gebruiker de tekst niet daadwerkelijk heeft gewijzigd. Bij het verwerken van een gebeurtenis kan het nodig zijn dat een clienttoepassing controleert of iets daadwerkelijk is gewijzigd voordat actie wordt ondernomen.

De volgende gebeurtenissen kunnen worden gegenereerd, zelfs wanneer de status van de gebruikersinterface niet is gewijzigd.

  • AutomationPropertyChangedEvent (afhankelijk van de eigenschap die is gewijzigd)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Ui Automation-gebeurtenis-id's

Microsoft UI Automation-gebeurtenissen worden geïdentificeerd door AutomationEvent objecten. De Id eigenschap bevat een waarde die het type gebeurtenis uniek identificeert.

De mogelijke waarden Id worden gegeven in de volgende tabel, samen met het type dat wordt gebruikt voor gebeurtenisargumenten. Houd er rekening mee dat de id's die door clients en providers worden gebruikt, identieke benoemde velden uit verschillende klassen zijn.

Client-id Provider-id Type gebeurtenisargumenten
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

Argumenten voor UI Automation-gebeurtenis

In de volgende klassen worden gebeurtenisargumenten ingekapseld.

Klas Beschrijving
AsyncContentLoadedEventArgs Bevat informatie over het asynchrone laden van inhoud, inclusief het percentage voltooide laden.
AutomationEventArgs Bevat informatie over een eenvoudige gebeurtenis waarvoor geen extra gegevens nodig zijn.
AutomationFocusChangedEventArgs Bevat informatie over een wijziging in de invoerfocus van het ene element naar het andere. Gebeurtenissen van dit type worden gegenereerd door het UI Automation-systeem, niet door providers.
AutomationPropertyChangedEventArgs Bevat informatie over een wijziging in een eigenschapswaarde van een element of besturingselementpatroon.
StructureChangedEventArgs Bevat informatie over een wijziging in de UI Automation-structuur.
WindowClosedEventArgs Bevat informatie over het sluiten van een venster.

Alle gebeurtenisargumentklassen bevatten een EventId lid. Deze id wordt ingekapseld in een AutomationEvent.

De AutomationEvent objecten die worden gebruikt om gebeurtenissen te identificeren, worden verkregen door providers van velden in AutomationElementIdentifiers en patroon-id-klassen zoals DockPatternIdentifiers. De equivalente velden worden verkregen door clienttoepassingen van velden in AutomationElement en controlepatroonklassen zoals DockPattern.

Zie UI Automation-gebeurtenissen voor clients voor een lijst met gebeurtenis-id's.

Zie ook