Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas Automation UI terkelola yang ditentukan dalam namespace System.Windows.Automation. Untuk informasi terbaru tentang Automasi UI, lihat Windows Automation API: UI Automation.
Topik ini menjelaskan bagaimana peristiwa Microsoft UI Automation digunakan oleh klien Automation UI.
Automasi UI memungkinkan klien untuk berlangganan peristiwa yang menarik. Kemampuan ini meningkatkan performa dengan menghilangkan kebutuhan untuk terus melakukan polling semua elemen UI dalam sistem untuk melihat apakah ada informasi, struktur, atau status yang telah berubah.
Efisiensi juga ditingkatkan oleh kemampuan untuk mendengarkan peristiwa hanya dalam cakupan yang ditentukan. Misalnya, klien dapat mendengarkan peristiwa perubahan fokus pada semua elemen Automation UI di pohon, atau hanya pada satu elemen dan turunannya.
Nota
Jangan berasumsi bahwa semua kemungkinan peristiwa dimunculkan oleh penyedia Microsoft UI Automation. Misalnya, tidak semua perubahan properti menyebabkan peristiwa terpicu oleh penyedia proksi standar untuk kontrol Windows Forms dan Win32.
Untuk tampilan peristiwa Automasi UI yang lebih luas, lihat Gambaran Umum Peristiwa Automasi UI .
Berlangganan Acara
Aplikasi klien berlangganan peristiwa jenis tertentu dengan mendaftarkan penanganan aktivitas, menggunakan salah satu metode berikut.
| Metode | Jenis Peristiwa | Jenis Argumen Peristiwa | Tipe Delegasi |
|---|---|---|---|
| AddAutomationFocusChangedEventHandler | Perubahan fokus | AutomationFocusChangedEventArgs | AutomationFocusChangedEventHandler |
| AddAutomationPropertyChangedEventHandler | Perubahan properti | AutomationPropertyChangedEventArgs | AutomationPropertyChangedEventHandler |
| AddStructureChangedEventHandler | Perubahan struktur | StructureChangedEventArgs | StructureChangedEventHandler |
| AddAutomationEventHandler | Semua peristiwa lainnya, diidentifikasi oleh AutomationEvent | AutomationEventArgs atau WindowClosedEventArgs | AutomationEventHandler |
Sebelum memanggil metode , Anda harus membuat metode delegasi untuk menangani peristiwa. Jika mau, Anda dapat menangani berbagai jenis peristiwa dalam satu metode, dan meneruskan metode ini dalam beberapa panggilan ke salah satu metode dalam tabel. Misalnya, satu AutomationEventHandler dapat disiapkan untuk menangani berbagai peristiwa secara berbeda sesuai dengan EventId.
Nota
Untuk memproses event jendela ditutup, ubah jenis argumen yang diteruskan ke penanganan kejadian sebagai WindowClosedEventArgs. Karena elemen Microsoft UI Automation untuk jendela tidak lagi valid, Anda tidak dapat menggunakan sender parameter untuk mengambil informasi; gunakan GetRuntimeId sebagai gantinya.
Perhatian
Jika aplikasi Anda mungkin menerima peristiwa dari UI-nya sendiri, jangan gunakan utas UI aplikasi Anda untuk berlangganan peristiwa, atau berhenti berlangganan. Melakukannya dapat menyebabkan perilaku yang tidak dapat diprediksi. Untuk informasi selengkapnya, lihat Masalah UI Automation Threading.
Pada saat penutupan, atau ketika peristiwa UI Automation tidak lagi relevan bagi aplikasi, klien UI Automation harus menggunakan salah satu metode berikut.
| Metode | Deskripsi |
|---|---|
| RemoveAutomationEventHandler | Membatalkan pendaftaran penanganan aktivitas yang didaftarkan dengan menggunakan AddAutomationEventHandler. |
| RemoveAutomationFocusChangedEventHandler | Membatalkan pendaftaran penanganan aktivitas yang didaftarkan dengan menggunakan AddAutomationFocusChangedEventHandler. |
| RemoveAutomationPropertyChangedEventHandler | Membatalkan pendaftaran penanganan aktivitas yang didaftarkan dengan menggunakan AddAutomationPropertyChangedEventHandler. |
| RemoveAllEventHandlers | Membatalkan pendaftaran semua penanganan aktivitas terdaftar. |
Untuk contoh kode, lihat Berlangganan Peristiwa Automasi UI.