Benutzeroberflächenautomatisierungs-Ereignisse für Clients
Hinweis |
---|
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.
Hinweis |
---|
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 |
---|---|---|---|
Fokusänderung |
|||
Eigenschaftenänderung |
|||
Strukturänderung |
|||
Alle anderen von einem AutomationEvent identifizierten Ereignisse |
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.
Hinweis |
---|
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. |
Vorsicht |
---|
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 |
---|---|
Hebt die Registrierung eines Ereignishandlers auf, der mit AddAutomationEventHandler registriert wurde. |
|
Hebt die Registrierung eines Ereignishandlers auf, der mit AddAutomationFocusChangedEventHandler registriert wurde. |
|
Hebt die Registrierung eines Ereignishandlers auf, der mit AddAutomationPropertyChangedEventHandler registriert wurde. |
|
Hebt die Registrierung aller registrierten Ereignishandler auf. |
Beispielcode finden Sie unter Abonnieren von Benutzeroberflächenautomatisierungs-Ereignissen.
Siehe auch
Aufgaben
Abonnieren von Benutzeroberflächenautomatisierungs-Ereignissen
Konzepte
Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse
Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften