Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Tato dokumentace je určená pro vývojáře rozhraní .NET Framework, kteří chtějí používat spravované třídy automatizace uživatelského rozhraní definované v oboru názvů System.Windows.Automation. Nejnovější informace o automatizaci uživatelského rozhraní najdete v tématu rozhraní API služby Windows Automation: Automatizace uživatelského rozhraní.
Toto téma popisuje, jak klienti automatizace uživatelského rozhraní používají události Microsoft UI Automation.
Automatizace uživatelského rozhraní umožňuje klientům přihlásit se k odběru zajímavých událostí. Tato funkce zlepšuje výkon díky tomu, že eliminuje nutnost průběžně dotazovat všechny prvky uživatelského rozhraní v systému, abyste zjistili, jestli se nějaké informace, struktura nebo stav změnily.
Efektivita je také vylepšena schopností naslouchat událostem pouze v rámci definovaného rozsahu. Klient může například naslouchat událostem změny fokusu na všechny prvky automatizace uživatelského rozhraní ve stromu nebo jenom na jednom prvku a jeho potomcích.
Poznámka:
Nepředpokládáme, že všechny možné události vyvolává poskytovatel Microsoft UI Automation. Například ne všechny změny vlastností způsobují vyvolání událostí standardními zprostředkovateli proxy pro ovládací prvky Windows Forms a Win32.
Širší přehled událostí automatizace uživatelského rozhraní najdete v tématu Přehled událostí automatizace uživatelského rozhraní.
Přihlášení k odběru událostí
Klientské aplikace se přihlašují k odběru událostí určitého druhu registrací obslužné rutiny události pomocí jedné z následujících metod.
Metoda | Typ události | Typ argumentů události | Typ delegáta |
---|---|---|---|
AddAutomationFocusChangedEventHandler | Změna fokusu | AutomationFocusChangedEventArgs | AutomationFocusChangedEventHandler |
AddAutomationPropertyChangedEventHandler | Změna vlastnosti | AutomationPropertyChangedEventArgs | AutomationPropertyChangedEventHandler |
AddStructureChangedEventHandler | Změna struktury | StructureChangedEventArgs | StructureChangedEventHandler |
AddAutomationEventHandler | Všechny ostatní události, které jsou identifikovány pomocí AutomationEvent | AutomationEventArgs nebo WindowClosedEventArgs | AutomationEventHandler |
Před voláním metody musíte vytvořit metodu delegáta pro zpracování události. Pokud chcete, můžete zpracovat různé druhy událostí v jedné metodě a předat tuto metodu ve více voláních jedné z metod v tabulce. Například jeden AutomationEventHandler lze nastavit tak, aby zpracovával různé události odlišně podle EventId.
Poznámka:
K zpracování událostí zavření okna přetypujte typ argumentu, který je předán obslužné rutině události jako WindowClosedEventArgs. Vzhledem k tomu, že element Microsoft UI Automation pro okno již není platný, nelze sender
použít parametr k načtení informací. Použijte GetRuntimeId místo toho.
Upozornění
Pokud vaše aplikace může přijímat události z vlastního uživatelského rozhraní, nepoužívejte vlákno uživatelského rozhraní aplikace k přihlášení k odběru událostí nebo odhlášení odběru. To může vést k nepředvídatelným chováním. Další informace najdete v tématu Problémy s vlákny automatizace uživatelského rozhraní.
Při vypnutí nebo v případě, že události automatizace uživatelského rozhraní už nejsou pro aplikaci zajímavé, by klienti automatizace uživatelského rozhraní měli volat jednu z následujících metod.
Metoda | Popis |
---|---|
RemoveAutomationEventHandler | Zruší registraci obslužné rutiny události, která byla zaregistrována pomocí AddAutomationEventHandler. |
RemoveAutomationFocusChangedEventHandler | Zruší registraci obslužné rutiny události, která byla zaregistrována pomocí AddAutomationFocusChangedEventHandler. |
RemoveAutomationPropertyChangedEventHandler | Zruší registraci obslužné rutiny události, která byla zaregistrována pomocí AddAutomationPropertyChangedEventHandler. |
RemoveAllEventHandlers | Zruší všechny registrované obslužné rutiny událostí. |
Například kód najdete v části Přihlášení k odběru událostí automatizace uživatelského rozhraní.
Viz také
- Přihlášení k odběru událostí automatizace uživatelského rozhraní
- Přehled událostí automatizace uživatelského rozhraní
- Přehled vlastností automatizace uživatelského rozhraní
- TrackFocus – ukázka