Przegląd zdarzeń automatyzacji interfejsu użytkownika

Uwaga

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacja interfejsu użytkownika zdefiniowanych w System.Windows.Automation przestrzeni nazw. Aby uzyskać najnowsze informacje na temat automatyzacja interfejsu użytkownika, zobacz Interfejs API usługi Windows Automation: automatyzacja interfejsu użytkownika.

Powiadomienie o zdarzeniach automatyzacja interfejsu użytkownika firmy Microsoft jest kluczową funkcją dla technologii pomocniczych, takich jak czytniki ekranu i lupy ekranu. Te automatyzacja interfejsu użytkownika klienci śledzą zdarzenia zgłaszane przez dostawców automatyzacja interfejsu użytkownika, gdy coś się dzieje w interfejsie użytkownika i używają informacji w celu powiadamiania użytkowników końcowych.

Wydajność jest ulepszana przez umożliwienie aplikacjom dostawcy selektywnego zgłaszania zdarzeń, w zależności od tego, czy wszyscy klienci są subskrybowani tymi zdarzeniami, czy w ogóle nie, jeśli żaden klient nie nasłuchuje żadnych zdarzeń.

Typy zdarzeń

automatyzacja interfejsu użytkownika zdarzenia należą do następujących kategorii.

Wydarzenie opis
Zmiana właściwości Zgłaszane, gdy zmienia się właściwość elementu automatyzacja interfejsu użytkownika lub wzorca kontrolki. Jeśli na przykład klient musi monitorować kontrolkę pola wyboru aplikacji, może zarejestrować się w celu nasłuchiwania zdarzenia zmiany właściwości we ToggleState właściwości. Gdy kontrolka pola wyboru jest zaznaczona lub niezaznaczone, dostawca zgłasza zdarzenie, a klient może działać zgodnie z potrzebami.
Akcja elementu Zgłaszane, gdy zmiana interfejsu użytkownika wynika z działania użytkownika końcowego lub programowego; na przykład po kliknięciu lub wywołaniu przycisku za pomocą polecenia InvokePattern.
Zmiana struktury Podniesione, gdy zmienia się struktura drzewa automatyzacja interfejsu użytkownika. Struktura zmienia się, gdy nowe elementy interfejsu użytkownika staną się widoczne, ukryte lub usunięte na pulpicie.
Zmiana pulpitu globalnego Zgłaszane, gdy wystąpią akcje globalnego zainteresowania klienta, takie jak przesunięcie fokusu z jednego elementu na inny lub zamknięcie okna.

Niektóre zdarzenia nie muszą oznaczać, że stan interfejsu użytkownika uległ zmianie. Jeśli na przykład użytkownik kartuje pole wprowadzania tekstu, a następnie klika przycisk w celu zaktualizowania pola, zostanie TextChangedEvent zgłoszony nawet wtedy, gdy użytkownik nie zmienił tekstu. Podczas przetwarzania zdarzenia może być konieczne, aby aplikacja kliencka mogła sprawdzić, czy wszystko zostało rzeczywiście zmienione przed podjęciem akcji.

Następujące zdarzenia mogą być wywoływane nawet wtedy, gdy stan interfejsu użytkownika nie uległ zmianie.

  • AutomationPropertyChangedEvent (w zależności od właściwości, która uległa zmianie)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

identyfikatory zdarzeń automatyzacja interfejsu użytkownika

Zdarzenia automatyzacja interfejsu użytkownika firmy Microsoft są identyfikowane przez AutomationEvent obiekty. Właściwość Id zawiera wartość, która jednoznacznie identyfikuje rodzaj zdarzenia.

Możliwe wartości Id są podane w poniższej tabeli wraz z typem używanym dla argumentów zdarzeń. Należy pamiętać, że identyfikatory używane przez klientów i dostawców są identycznie nazwane pola z różnych klas.

Identyfikator klienta Identyfikator dostawcy Typ argumentów zdarzeń
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

argumenty zdarzeń automatyzacja interfejsu użytkownika

Następujące klasy hermetyzują argumenty zdarzeń.

Klasa opis
AsyncContentLoadedEventArgs Zawiera informacje dotyczące asynchronicznego ładowania zawartości, w tym procent ukończonego ładowania.
AutomationEventArgs Zawiera informacje o prostym zdarzeniu, które nie wymaga dodatkowych danych.
AutomationFocusChangedEventArgs Zawiera informacje o zmianie fokusu wejściowego z jednego elementu na inny. Zdarzenia tego typu są zgłaszane przez system automatyzacja interfejsu użytkownika, a nie przez dostawców.
AutomationPropertyChangedEventArgs Zawiera informacje o zmianie wartości właściwości elementu lub wzorca kontrolki.
StructureChangedEventArgs Zawiera informacje o zmianie drzewa automatyzacja interfejsu użytkownika.
WindowClosedEventArgs Zawiera informacje o zamykaniu okna.

Wszystkie klasy argumentów zdarzeń zawierają element członkowski EventId . Ten identyfikator jest hermetyzowany w obiekcie AutomationEvent.

Obiekty używane do identyfikowania AutomationEvent zdarzeń są uzyskiwane przez dostawców z pól w AutomationElementIdentifiers klasach identyfikatorów wzorców kontrolek, takich jak DockPatternIdentifiers. Równoważne pola są uzyskiwane przez aplikacje klienckie z pól w AutomationElement klasach wzorców kontrolek, takich jak DockPattern.

Aby uzyskać listę identyfikatorów zdarzeń, zobacz automatyzacja interfejsu użytkownika Zdarzenia dla klientów.

Zobacz też