Freigeben über


Benutzeroberflächenautomatisierungs-Ereignisse für Clients

HinweisHinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation.

In diesem Thema wird beschrieben, wie Microsoft UI Automation-Ereignisse von Benutzeroberflächenautomatisierungs-Clients verwendet werden.

Die UI Automation gestattet es Clients, relevante Ereignisse zu abonnieren. Diese Fähigkeit verbessert die Leistung, da Sie die UI-Elemente im System nicht ständig abfragen müssen, um festzustellen, ob sich eine Information, eine Struktur oder ein Zustand geändert hat.

Außerdem wird die Effizienz durch die Möglichkeit verbessert, Ereignisse nur innerhalb eines definierten Umfangs zu überwachen. Beispielsweise kann ein Client die Fokusänderungsereignisse aller UI Automation-Elemente in der Struktur oder nur die eines Elements und dessen Nachfolgerelementen überwachen.

HinweisHinweis

Gehen Sie nicht davon aus, dass alle möglichen Ereignisse von einem Microsoft UI Automation-Anbieter ausgelöst werden.Beispielsweise werden nicht bei allen Eigenschaftenänderungen Ereignisse von den Standardproxyanbietern für Windows Forms und Win32-Steuerelemente ausgelöst.

Eine ausführlichere Übersicht über UI Automation-Ereignisse finden Sie unter Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse.

Dieses Thema enthält folgende Abschnitte.

  • Abonnieren von Ereignissen
  • Verwandte Abschnitte

Abonnieren von Ereignissen

Clientanwendungen abonnieren Ereignisse einer bestimmten Art, indem sie einen Ereignishandler mit einer der folgenden Methoden registrieren.

Methode

Ereignistyp

Typ der Ereignisargumente

Delegattyp

AddAutomationFocusChangedEventHandler

Fokusänderung

AutomationFocusChangedEventArgs

AutomationFocusChangedEventHandler

AddAutomationPropertyChangedEventHandler

Eigenschaftenänderung

AutomationPropertyChangedEventArgs

AutomationPropertyChangedEventHandler

AddStructureChangedEventHandler

Strukturänderung

StructureChangedEventArgs

StructureChangedEventHandler

AddAutomationEventHandler

Alle anderen von einem AutomationEvent identifizierten Ereignisse

AutomationEventArgs oder WindowClosedEventArgs

AutomationEventHandler

Vor dem Aufrufen der Methode müssen Sie eine Delegatmethode zum Verarbeiten des Ereignisses erstellen. Bei Bedarf können Sie verschiedene Arten von Ereignissen in einer einzelnen Methode verarbeiten und diese Methode in mehreren Aufrufen an eine der Methoden in der Tabelle übergeben. Sie können beispielsweise einen einzelnen AutomationEventHandler einrichten, der verschiedene Ereignisse anhand der EventId unterschiedlich verarbeitet.

HinweisHinweis

Um Ereignisse zum Schließen eines Fensters zu verarbeiten, wandeln Sie den Argumenttyp, der dem Ereignishandler übergeben wird, in WindowClosedEventArgs um.Da das Microsoft UI Automation-Element für das Fenster nicht mehr gültig ist, können Sie Informationen nicht mit dem sender-Parameter abrufen. Verwenden Sie stattdessen GetRuntimeId.

WarnhinweisVorsicht

Wenn Ihre Anwendung möglicherweise Ereignisse aus der eigenen UI empfängt, verwenden Sie zum Abonnieren von Ereignissen oder Kündigen des Abonnements nicht den UI-Thread der Anwendung.Eine solche Vorgehensweise kann möglicherweise zu unvorhersehbarem Verhalten führen.Weitere Informationen finden Sie unter Threadingprobleme bei der Benutzeroberflächenautomatisierung.

Beim Herunterfahren oder wenn UI Automation-Ereignisse für die Anwendung nicht mehr relevant sind, sollten Benutzeroberflächenautomatisierungs-Clients eine der folgenden Methoden aufrufen.

Methode

Beschreibung

RemoveAutomationEventHandler

Hebt die Registrierung eines Ereignishandlers auf, der mit AddAutomationEventHandler registriert wurde.

RemoveAutomationFocusChangedEventHandler

Hebt die Registrierung eines Ereignishandlers auf, der mit AddAutomationFocusChangedEventHandler registriert wurde.

RemoveAutomationPropertyChangedEventHandler

Hebt die Registrierung eines Ereignishandlers auf, der mit AddAutomationPropertyChangedEventHandler registriert wurde.

RemoveAllEventHandlers

Hebt die Registrierung aller registrierten Ereignishandler auf.

Beispielcode finden Sie unter Abonnieren von Benutzeroberflächenautomatisierungs-Ereignissen.

Siehe auch

Aufgaben

Abonnieren von Benutzeroberflächenautomatisierungs-Ereignissen

TrackFocus Sample

Konzepte

Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften