Gambaran Umum Peristiwa UI Automation

Catatan

Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas UI Automation terkelola yang ditentukan pada namespace System.Windows.Automation. Untuk informasi terbaru tentang UI Automation, lihat API Automasi Windows: Automasi Antarmuka Pengguna.

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

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

Jenis aktivitas

Peristiwa UI Automation termasuk dalam kategori berikut.

Kejadian Deskripsi
Perubahan properti Muncul ketika properti pada elemen UI Automation atau pola kontrol berubah. Contohnya, jika klien perlu memantau kontrol kotak centang aplikasi, klien dapat mendaftar untuk mendengarkan peristiwa perubahan properti pada properti ToggleState. 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; contohnya, ketika tombol diklik atau dipanggil melalui InvokePattern.
Perubahan struktur Muncul ketika struktur pohon UI Automation berubah. Struktur berubah ketika item UI baru menjadi terlihat, tersembunyi, atau dihapus di desktop.
Perubahan desktop global Dimunculkan ketika tindakan minat global kepada klien terjadi, seperti ketika fokus bergeser dari satu elemen ke elemen lainnya, atau ketika jendela ditutup.

Beberapa peristiwa tidak selalu berarti bahwa status UI telah berubah. Contohnya, jika tab pengguna ke kolom entri teks lalu mengeklik tombol untuk memperbarui kolom, TextChangedEvent dinaikkan meskipun pengguna tidak benar-benar mengubah teks. Ketika 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 tidak berubah.

  • AutomationPropertyChangedEvent (bergantung pada properti yang telah berubah)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Pengidentifikasi Peristiwa UI Automation

Peristiwa Microsoft UI Automation diidentifikasi oleh objek AutomationEvent. Properti Id memuat 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 kolom 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 Peristiwa UI Automation

Kelas berikut merangkum argumen peristiwa.

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

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

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

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

Lihat juga