Gambaran Umum Peristiwa (Formulir Windows)
Peristiwa adalah tindakan yang dapat Anda respons, atau "tangani," dalam kode. Peristiwa dapat dihasilkan oleh tindakan pengguna, seperti mengklik mouse atau menekan tombol; menurut kode program; atau oleh sistem.
Aplikasi berbasis peristiwa menjalankan kode sebagai respons terhadap peristiwa. Setiap formulir dan kontrol mengekspos serangkaian peristiwa yang telah ditentukan sebelumnya yang dapat Anda programkan. Jika salah satu peristiwa ini terjadi dan ada kode di penanganan aktivitas terkait, kode tersebut dipanggil.
Jenis peristiwa yang dibesarkan oleh objek bervariasi, tetapi banyak jenis umum untuk sebagian besar kontrol. Misalnya, sebagian besar objek akan menangani Click peristiwa. Jika pengguna mengklik formulir, kode dalam penanganan aktivitas formulir Click dijalankan.
Catatan
Banyak peristiwa terjadi bersamaan dengan peristiwa lain. Misalnya, selama DoubleClick peristiwa terjadi, MouseDownperistiwa , , MouseUpdan Click terjadi.
Untuk informasi tentang cara menaikkan dan menggunakan peristiwa, lihat Peristiwa.
Delegasi dan Perannya
Delegasi adalah kelas yang umum digunakan dalam .NET Framework untuk membangun mekanisme penanganan peristiwa. Mendelegasikan kira-kira sama dengan penunjuk fungsi, umumnya digunakan dalam Visual C++ dan bahasa berorientasi objek lainnya. Namun tidak seperti penunjuk fungsi, delegasi berorientasi objek, jenis aman, dan aman. Selain itu, di mana penunjuk fungsi hanya berisi referensi ke fungsi tertentu, delegasi terdiri dari referensi ke objek, dan mereferensikan ke satu atau beberapa metode dalam objek.
Model kejadian ini menggunakan delegasi untuk mengikat peristiwa ke metode yang digunakan untuk menanganinya. Delegasi memungkinkan kelas lain mendaftar untuk pemberitahuan peristiwa dengan menentukan metode handler. Ketika peristiwa terjadi, delegasi memanggil metode terikat. Untuk informasi selengkapnya tentang cara menentukan delegasi, lihat Peristiwa.
Delegasi dapat terikat ke satu metode atau ke beberapa metode, yang disebut sebagai multicasting. Saat membuat delegasi untuk suatu peristiwa, Anda (atau Windows) biasanya membuat peristiwa multicast. Pengecualian langka mungkin merupakan peristiwa yang menghasilkan prosedur tertentu (seperti menampilkan kotak dialog) yang tidak akan diulang secara logis beberapa kali per peristiwa. Untuk informasi tentang cara membuat delegasi multicast, lihat Cara menggabungkan delegasi (Delegasi Multicast).
Delegasi multicast mempertahankan daftar pemanggilan metode yang terikat padanya. Delegasi multicast mendukung Combine metode untuk menambahkan metode ke daftar pemanggilan dan Remove metode untuk menghapusnya.
Saat peristiwa direkam oleh aplikasi, kontrol akan menaikkan peristiwa dengan memanggil delegasi untuk peristiwa tersebut. Delegasi pada gilirannya memanggil metode terikat. Dalam kasus yang paling umum (delegasi multicast) delegasi memanggil setiap metode terikat dalam daftar pemanggilan pada gilirannya, yang menyediakan pemberitahuan satu-ke-banyak. Strategi ini berarti bahwa kontrol tidak perlu mempertahankan daftar objek target untuk pemberitahuan peristiwa—delegasi menangani semua pendaftaran dan pemberitahuan.
Delegasi juga memungkinkan beberapa peristiwa terikat ke metode yang sama, memungkinkan pemberitahuan banyak ke satu. Misalnya, peristiwa klik tombol dan peristiwa klik-perintah menu dapat memanggil delegasi yang sama, yang kemudian memanggil satu metode untuk menangani peristiwa terpisah ini dengan cara yang sama.
Mekanisme pengikatan yang digunakan dengan delegasi bersifat dinamis: delegasi dapat terikat pada waktu proses ke metode apa pun yang tanda tangannya cocok dengan penanganan aktivitas. Dengan fitur ini, Anda dapat menyiapkan atau mengubah metode terikat tergantung pada kondisi dan melampirkan penanganan aktivitas secara dinamis ke kontrol.
Baca juga
.NET Desktop feedback