Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

Hinweis

Diese Dokumentation richtet sich an .NET Framework Entwickler, die die verwalteten Benutzeroberflächenautomatisierung klassen verwenden möchten, die im -Namespace definiert System.Windows.Automation sind. Die neuesten Informationen zu Benutzeroberflächenautomatisierung finden Sie unter Windows Automation-API: Benutzeroberflächenautomatisierung.

Microsoft Benutzeroberflächenautomatisierung Ereignisbenachrichtigung ist ein wichtiges Feature für Hilfstechnologien wie Sprachausgabe und Bildschirmlupe. Diese Benutzeroberflächenautomatisierung Clients verfolgen Ereignisse nach, die von Benutzeroberflächenautomatisierung Anbietern ausgelöst werden, wenn etwas auf der Benutzeroberfläche geschieht, und verwenden die Informationen, um Endbenutzer zu benachrichtigen.

Die Effizienz wird dadurch erhöht, dass Anbieteranwendungen Ereignisse selektiv (abhängig davon, ob Clients für diese Ereignisse abonniert sind) oder gar nicht auslösen dürfen (wenn kein Client auf Ereignisse wartet).

Ereignistypen

Benutzeroberflächenautomatisierungs-Ereignisse werden in die folgenden Kategorien unterteilt.

Ereignis BESCHREIBUNG
Eigenschaftenänderung Wird ausgelöst, wenn sich eine Eigenschaft in einem Benutzeroberflächenautomatisierung Element- oder Steuerelementmuster ändert. Wenn ein Client beispielsweise das Kontrollkästchen-Steuerelement einer Anwendung überwachen muss, kann er sich mithilfe der ToggleState -Eigenschaft registrieren, um auf ein Eigenschaftenänderungsereignis zu warten. Wenn das Kontrollkästchen-Steuerelement aktiviert oder deaktiviert wird, löst der Anbieter das Ereignis aus, und der Client kann entsprechend reagieren.
Elementaktion Wird ausgelöst, wenn eine Änderung der Benutzeroberfläche von Endbenutzer- oder programmgesteuerten Aktivitäten resultiert. Beispielsweise, wenn über auf eine Schaltfläche geklickt oder aufgerufen InvokePattern wird.
Strukturänderung Wird ausgelöst, wenn sich die Struktur der Benutzeroberflächenautomatisierung-Struktur ändert. Die Struktur wird geändert, wenn neue Benutzeroberflächenelemente angezeigt, ausgeblendet oder vom Desktop entfernt werden.
Globale Desktopänderung Wird ausgelöst, wenn Aktionen auftreten, die für den Client von allgemeinem Interesse sind, z. B., wenn der Fokus von einem Element zum anderen wechselt oder ein Fenster geschlossen wird.

Einige Ereignisse bedeuten nicht zwangsläufig, dass sich der Zustand der Benutzeroberfläche geändert hat. Wenn der Benutzer zum Beispiel mit der Tabulatortaste zu einem Texteingabefeld wechselt und dann auf eine Schaltfläche klickt, um das Feld zu aktualisieren, wird ein TextChangedEvent ausgelöst, auch wenn der Benutzer den Text nicht geändert hat. Bei der Verarbeitung eines Ereignisses muss eine Clientanwendung möglicherweise erst überprüfen, ob sich tatsächlich etwas geändert hat, bevor eine Aktion ausgeführt wird.

Die folgenden Ereignisse können auch dann ausgelöst werden, wenn sich der Zustand der Benutzeroberfläche nicht geändert hat.

  • AutomationPropertyChangedEvent (abhängig von der Eigenschaft, die sich geändert hat)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Bezeichner für Benutzeroberlächen-Automatisierungsereignisse

Microsoft Benutzeroberflächenautomatisierung Ereignisse werden durch AutomationEvent -Objekte identifiziert. Die Id -Eigenschaft enthält einen Wert, der die Ereignisart eindeutig bezeichnet.

Die möglichen Werte für Id sind in der folgenden Tabelle zusammen mit dem für die Ereignisargumente verwendeten Typ aufgeführt. Beachten Sie, dass es sich bei den von Clients und Anbietern verwendeten Bezeichnern um Felder mit identischen Namen aus verschiedenen Klassen handelt.

Clientbezeichner Anbieterbezeichner Typ der Ereignisargumente
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

Argumente für Benutzeroberlächen-Automatisierungsereignisse

Die folgenden Klassen kapseln Ereignisargumente.

Klasse BESCHREIBUNG
AsyncContentLoadedEventArgs Enthält Informationen zum asynchronen Laden von Inhalt, einschließlich des bereits abgeschlossenen Ladevorgangs in Prozent.
AutomationEventArgs Enthält Informationen über ein einfaches Ereignis, das keine zusätzlichen Daten erfordert.
AutomationFocusChangedEventArgs Enthält Informationen zur Änderung des Eingabefokus von einem Element zu einem anderen. Ereignisse dieses Typs werden vom Benutzeroberflächenautomatisierung System und nicht von Anbietern ausgelöst.
AutomationPropertyChangedEventArgs Enthält Informationen zur Änderung eines Eigenschaftswerts eines Elements oder Steuerelementmusters.
StructureChangedEventArgs Enthält Informationen zu einer Änderung in der Benutzeroberflächenautomatisierung Struktur.
WindowClosedEventArgs Enthält Informationen zum Schließen eines Fensters.

Alle Ereignisargumentklassen enthalten einen EventId -Member. Dieser Bezeichner wird in einem AutomationEventgekapselt.

Die zur Identifizierung von Ereignissen verwendeten AutomationEvent -Objekte werden durch Anbieter aus Feldern in AutomationElementIdentifiers und Klassen für Steuerelementmuster-Bezeichner, wie beispielsweise DockPatternIdentifiers, abgerufen. Von Clientanwendungen werden die entsprechenden Felder aus Feldern in AutomationElement und Steuerelementmusterklassen, wie z. B. DockPattern, abgerufen.

Eine Liste der Ereignisbezeichner finden Sie unter UI Automation Events for Clients.

Siehe auch