Megosztás a következőn keresztül:


Felhasználói felület automatizálási eseményei ügyfelek számára

Megjegyzés:

Ez a dokumentáció azoknak a .NET-keretrendszer-fejlesztőknek készült, akik a System.Windows.Automation névtérben definiált felügyelt felhasználói felületi Automation-osztályokat szeretnék használni. A felhasználói felület automatizálásával kapcsolatos legfrissebb információkért lásd Windows Automation API: UI Automation.

Ez a témakör azt ismerteti, hogyan használják a Felhasználóifelület-automatizálási ügyfelek a Microsoft UI Automation-eseményeit.

A felhasználói felület automatizálása lehetővé teszi, hogy az ügyfelek feliratkozzanak a fontos eseményekre. Ez a képesség javítja a teljesítményt azáltal, hogy nem szükséges folyamatosan lekérdezni a rendszer összes felhasználói felületi elemét, hogy kiderüljön, változott-e bármilyen információ, struktúra vagy állapot.

A hatékonyságot az is javítja, hogy csak meghatározott hatókörön belül figyelheti az eseményeket. Az ügyfél figyelheti például a fókuszváltozási eseményeket a fa összes UI Automation-elemén, vagy csak egy elemet és annak leszármazottait.

Megjegyzés:

Ne feltételezze, hogy az összes lehetséges eseményt a Microsoft felhasználói felületi automatizálási szolgáltatója generálja. Például nem minden tulajdonságváltozás generál eseményeket a Windows Forms és a Win32 vezérlők szabványos proxy szolgáltatói által.

A felhasználói felület automatizálási eseményeinek szélesebb körű megtekintéséhez tekintse meg felhasználói felület automatizálási eseményeinek áttekintését.

Feliratkozás eseményekre

Az ügyfélalkalmazások az alábbi módszerek egyikével előfizetnek egy eseménykezelő regisztrálásával egy adott eseményre.

Metódus Esemény típusa Eseményargumentumok típusa Delegálás típusa
AddAutomationFocusChangedEventHandler Fókusz módosítása AutomationFocusChangedEventArgs AutomationFocusChangedEventHandler
AddAutomationPropertyChangedEventHandler Tulajdonság módosítása AutomationPropertyChangedEventArgs AutomationPropertyChangedEventHandler
AddStructureChangedEventHandler Struktúraváltozás StructureChangedEventArgs StructureChangedEventHandler
AddAutomationEventHandler Minden más esemény, amelyet egy AutomationEvent azonosít. AutomationEventArgs vagy WindowClosedEventArgs AutomationEventHandler

A metódus meghívása előtt létre kell hoznia egy delegált metódust az esemény kezeléséhez. Tetszés szerint különböző típusú eseményeket kezelhet egyetlen metódusban, és több hívásban is átadhatja ezt a metódust a táblázat egyik metódusának. Például egyetlen AutomationEventHandler beállítható úgy, hogy a különböző eseményeket a .. EventIdszerint eltérő módon kezelje.

Megjegyzés:

Az ablak által bezárt események feldolgozásához adja meg az eseménykezelőnek átadott argumentumtípust WindowClosedEventArgs. Mivel az ablakhoz tartozó Microsoft UI Automation elem már nem érvényes, a sender paramétert nem használhatja információ lekérésére, helyette használja a GetRuntimeId-et.

Figyelmeztetés

Ha az alkalmazás saját felhasználói felületéről fogad eseményeket, ne használja az alkalmazás felhasználói felületi szálát az eseményekre való feliratkozáshoz vagy a leiratkozáshoz. Ez kiszámíthatatlan viselkedéshez vezethet. További információ: Felhasználói felület automatizálási szálkezelésével kapcsolatos problémák.

Leállításkor, vagy ha a felhasználói felület automatizálási eseményei már nem érdeklik az alkalmazást, a felhasználói felületi automatizálási ügyfeleknek az alábbi módszerek egyikét kell meghívni.

Metódus Leírás
RemoveAutomationEventHandler Törli az eseménykezelőt, amely a AddAutomationEventHandler használatával lett regisztrálva.
RemoveAutomationFocusChangedEventHandler Törli az eseménykezelőt, amely a AddAutomationFocusChangedEventHandler használatával lett regisztrálva.
RemoveAutomationPropertyChangedEventHandler Törli az eseménykezelőt, amely a AddAutomationPropertyChangedEventHandler használatával lett regisztrálva.
RemoveAllEventHandlers Törölje az összes regisztrált eseménykezelő regisztrációját.

Példakód: Feliratkozás felhasználói felületi automatizálási eseményekre.

Lásd még