Bagikan melalui


Gambaran Umum Peristiwa Automasi UI

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.

Pemberitahuan peristiwa Microsoft UI Automation adalah fitur utama untuk teknologi bantuan seperti pembaca layar dan pembesar layar. Klien Automation UI ini melacak peristiwa yang dimunculkan oleh penyedia Automation UI ketika sesuatu terjadi di UI dan menggunakan informasi untuk memberi tahu pengguna akhir.

Efisiensi ditingkatkan dengan memungkinkan aplikasi penyedia untuk menaikkan peristiwa secara selektif, tergantung pada apakah ada klien yang berlangganan peristiwa tersebut, atau tidak sama sekali, jika tidak ada klien yang mendengarkan peristiwa apa pun.

Jenis Peristiwa

Peristiwa Automasi UI termasuk dalam kategori berikut.

Peristiwa Deskripsi
Perubahan properti Dimunculkan saat properti pada elemen Automation UI atau pola kontrol berubah. Misalnya, jika klien perlu memantau kontrol kotak centang aplikasi, klien dapat mendaftar untuk mendengarkan peristiwa perubahan properti pada ToggleState properti. Ketika kontrol kotak centang dicentang atau tidak dicentang, penyedia menaikkan peristiwa dan klien dapat bertindak seperlunya.
Tindakan elemen Dimunculkan ketika perubahan UI dihasilkan dari pengguna akhir atau aktivitas terprogram; misalnya, ketika tombol diklik atau dipanggil melalui InvokePattern.
Perubahan struktur Dimunculkan ketika struktur pohon Automation UI berubah. Struktur berubah ketika item UI baru menjadi terlihat, tersembunyi, atau dihapus di desktop.
Perubahan global pada desktop Dimunculkan ketika tindakan berdampak global bagi klien terjadi, seperti ketika fokus bergeser dari satu elemen ke elemen lain, atau ketika jendela ditutup.

Beberapa peristiwa tidak selalu berarti bahwa status UI telah berubah. Misalnya, jika pengguna berpindah ke bidang entri teks dan kemudian mengklik tombol untuk memperbarui bidang, sebuah TextChangedEvent dipicu meskipun pengguna tidak benar-benar mengubah teks. Saat memproses peristiwa, mungkin perlu bagi aplikasi klien untuk memeriksa apakah ada yang benar-benar berubah sebelum mengambil tindakan.

Peristiwa berikut dapat dimunculkan bahkan ketika status UI belum berubah.

  • AutomationPropertyChangedEvent (tergantung pada properti yang telah berubah)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Pengidentifikasi Peristiwa Automasi UI

Objek AutomationEvent digunakan untuk mengidentifikasi peristiwa Microsoft UI Automation. Properti Id berisi nilai yang secara unik mengidentifikasi jenis peristiwa.

Nilai yang mungkin untuk Id diberikan dalam tabel berikut, bersama dengan jenis yang digunakan untuk argumen peristiwa. Perhatikan bahwa pengidentifikasi yang digunakan oleh klien dan penyedia diberi nama bidang yang identik dari kelas yang berbeda.

Pengidentifikasi Klien Pengidentifikasi penyedia Jenis Argumen Peristiwa
AutomationElement.AsyncContentLoadedEvent AutomationElementIdentifiers.AsyncContentLoadedEvent AsyncContentLoadedEventArgs
SelectionItemPattern.ElementAddedToSelectionEvent

SelectionItemPattern.ElementRemovedFromSelectionEvent

SelectionItemPattern.ElementSelectedEvent

SelectionPattern.InvalidatedEvent

InvokePattern.InvokedEvent

AutomationElement.LayoutInvalidatedEvent

AutomationElement.MenuClosedEvent

AutomationElement.MenuOpenedEvent

TextPattern.TextChangedEvent

TextPattern.TextSelectionChangedEvent

AutomationElement.ToolTipClosedEvent

AutomationElement.ToolTipOpenedEvent

WindowPattern.WindowOpenedEvent
SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent

SelectionItemPatternIdentifiers.ElementRemovedFromSelectionEvent

SelectionItemPatternIdentifiers.ElementSelectedEvent

SelectionPatternIdentifiers.InvalidatedEvent

InvokePatternIdentifiers.InvokedEvent

AutomationElementIdentifiers.LayoutInvalidatedEvent

AutomationElementIdentifiers.MenuClosedEvent

AutomationElementIdentifiers.MenuOpenedEvent

TextPatternIdentifiers.TextChangedEvent

TextPatternIdentifiers.TextSelectionChangedEvent

AutomationElementIdentifiers.ToolTipClosedEvent

AutomationElementIdentifiers.ToolTipOpenedEvent

WindowPatternIdentifiers.WindowOpenedEvent
AutomationEventArgs
AutomationElement.AutomationFocusChangedEvent AutomationElementIdentifiers.AutomationFocusChangedEvent AutomationFocusChangedEventArgs
AutomationElement.AutomationPropertyChangedEvent AutomationElementIdentifiers.AutomationPropertyChangedEvent AutomationPropertyChangedEventArgs
AutomationElement.StructureChangedEvent AutomationElementIdentifiers.StructureChangedEvent StructureChangedEventArgs
WindowPattern.WindowClosedEvent WindowPatternIdentifiers.WindowClosedEvent WindowClosedEventArgs

Argumen Kejadian Automasi Antarmuka Pengguna

Kelas berikut merangkum argumen peristiwa.

Kelas Deskripsi
AsyncContentLoadedEventArgs Berisi informasi tentang pemuatan konten asinkron, termasuk persentase pemuatan selesai.
AutomationEventArgs Berisi informasi tentang peristiwa sederhana yang tidak memerlukan data tambahan.
AutomationFocusChangedEventArgs Berisi informasi tentang perubahan fokus input dari satu elemen ke elemen lainnya. Peristiwa jenis ini dimunculkan oleh sistem Automation UI, bukan oleh penyedia.
AutomationPropertyChangedEventArgs Berisi informasi tentang perubahan nilai properti dari elemen atau pola kontrol.
StructureChangedEventArgs Berisi informasi tentang perubahan di pohon Automation UI.
WindowClosedEventArgs Berisi informasi tentang penutupan jendela.

Semua kelas argumen peristiwa mengandung anggota EventId. Pengidentifikasi ini dienkapsulasi dalam AutomationEvent.

Objek AutomationEvent yang digunakan untuk mengidentifikasi peristiwa diperoleh oleh penyedia dari bidang di AutomationElementIdentifiers dan mengontrol kelas pengidentifikasi pola seperti DockPatternIdentifiers. Bidang yang setara diperoleh oleh aplikasi klien dari bidang di AutomationElement dan kelas pola kontrol seperti DockPattern.

Untuk daftar pengidentifikasi peristiwa, lihat Peristiwa Automasi UI untuk Klien.

Lihat juga