Benutzeroberflächenautomatisierungs-Ereignisse für Clients

Aktualisiert: November 2007

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

Die UI-Automatisierung gestattet es Clients, relevante Ereignisse zu abonnieren. Diese Fähigkeit verbessert die Leistung, da Sie die Benutzeroberfläche-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-Automatisierung-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-Automatisierung-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-Automatisierung-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.

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-Automatisierung-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 Benutzeroberfläche empfängt, verwenden Sie zum Abonnieren von Ereignissen oder Kündigen des Abonnements nicht den Benutzeroberfläche-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-Automatisierung-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

Beispiel für TrackFocus

Konzepte

Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften