Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.