Bagikan melalui


Peristiwa Automasi UI untuk Klien

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.

Lihat juga