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.
Sebagian besar program Windows Forms memproses input mouse dengan menangani peristiwa tetikus. Artikel ini memberikan gambaran umum tentang peristiwa mouse, termasuk detail tentang kapan harus menggunakan setiap peristiwa dan data yang disediakan untuk setiap peristiwa. Untuk informasi selengkapnya tentang peristiwa secara umum, lihat Gambaran umum peristiwa.
Peristiwa mouse
Cara utama untuk merespons masukan tetikus adalah dengan menangani peristiwa tetikus. Tabel berikut ini memperlihatkan peristiwa mouse dan menjelaskan kapan peristiwa tersebut dinaikkan.
| Acara Tetikus | Deskripsi |
|---|---|
| Click | Kejadian ini terjadi ketika tombol mouse dirilis, biasanya sebelum peristiwa MouseUp. Handler untuk event ini menerima argumen dengan jenis EventArgs. Tangani kejadian ini ketika Anda hanya perlu menentukan kapan klik terjadi. |
| MouseClick | Kejadian ini terjadi ketika pengguna mengklik kontrol dengan mouse. Handler untuk event ini menerima argumen dengan jenis MouseEventArgs. Tangani kejadian ini ketika Anda memerlukan informasi tentang mouse saat terjadi klik. |
| DoubleClick | Kejadian ini terjadi ketika kontrol diklik dua kali. Handler untuk event ini menerima argumen dengan jenis EventArgs. Tangani peristiwa ini ketika Anda hanya perlu menentukan kapan terjadi klik ganda. |
| MouseDoubleClick | Kejadian ini terjadi ketika pengguna mengklik dua kali kontrol dengan mouse. Handler untuk event ini menerima argumen dengan jenis MouseEventArgs. Tangani kejadian ini ketika Anda perlu mendapatkan informasi tentang mouse saat terjadi klik ganda. |
| MouseDown | Kejadian ini terjadi ketika penunjuk mouse berada di atas kontrol dan pengguna menekan tombol mouse. Handler untuk event ini menerima argumen dengan jenis MouseEventArgs. |
| MouseEnter | Peristiwa ini terjadi ketika penunjuk mouse memasuki batas atau area klien kontrol, tergantung pada jenis kontrol. Handler untuk event ini menerima argumen dengan jenis EventArgs. |
| MouseHover | Kejadian ini terjadi ketika penunjuk mouse berhenti dan bersandar di atas kontrol. Handler untuk event ini menerima argumen dengan jenis EventArgs. |
| MouseLeave | Kejadian ini terjadi ketika penunjuk mouse meninggalkan batas atau area klien kontrol, tergantung pada jenis kontrol. Handler untuk event ini menerima argumen dengan jenis EventArgs. |
| MouseMove | Peristiwa ini terjadi ketika pointer mouse bergerak saat berada di atas elemen kontrol. Handler untuk event ini menerima argumen dengan jenis MouseEventArgs. |
| MouseUp | Kejadian ini terjadi ketika penunjuk mouse berada di atas kontrol dan pengguna melepaskan tombol mouse. Handler untuk event ini menerima argumen dengan jenis MouseEventArgs. |
| MouseWheel | Peristiwa ini terjadi ketika pengguna memutar roda mouse saat kontrol dalam keadaan fokus. Handler untuk event ini menerima argumen dengan jenis MouseEventArgs. MouseEventArgs.Delta Gunakan properti untuk menentukan seberapa jauh mouse digulir. |
Informasi tetikus
MouseEventArgs dikirim ke pengendali peristiwa mouse yang berhubungan dengan klik tombol mouse dan pelacakan gerakan mouse. MouseEventArgs menyediakan informasi tentang status mouse saat ini, termasuk lokasi penunjuk mouse dalam koordinat klien, tombol mouse mana yang ditekan, dan apakah roda mouse telah digulir. Beberapa peristiwa mouse, seperti yang dipicu ketika penunjuk mouse telah memasuki atau meninggalkan batas kontrol, mengirimkan "EventArgs" ke pengelola acara tanpa informasi lebih lanjut.
Jika Anda ingin mengetahui status tombol mouse saat ini atau lokasi penunjuk mouse, dan Anda ingin menghindari penanganan peristiwa mouse, Anda juga dapat menggunakan properti MouseButtons dan MousePosition kelas Control. MouseButtons mengembalikan informasi tentang tombol mouse mana yang saat ini ditekan. MousePosition mengembalikan koordinat layar penunjuk mouse dan setara dengan nilai yang dikembalikan oleh Position.
Mengonversi Antara Koordinat Layar dan Klien
Karena beberapa informasi lokasi mouse berada dalam koordinat klien dan beberapa berada dalam koordinat layar, Anda mungkin perlu mengonversi titik dari satu sistem koordinat ke sistem koordinat lainnya. Anda dapat melakukan ini dengan mudah dengan menggunakan metode PointToClient dan PointToScreen yang tersedia di kelas Control.
Perilaku peristiwa Klik Standar
Jika Anda ingin menangani peristiwa klik mouse dalam urutan yang tepat, Anda perlu mengetahui urutan peristiwa klik dinaikkan dalam kontrol Formulir Windows. Semua kontrol Windows Forms memicu peristiwa klik dalam urutan yang sama ketika tombol mouse yang sesuai ditekan dan dirilis, kecuali jika dicatat dalam daftar berikut untuk kontrol individual. Daftar berikut menunjukkan urutan peristiwa yang terjadi untuk satu klik tombol mouse:
- Peristiwa MouseDown.
- Peristiwa Click.
- Peristiwa MouseClick.
- Peristiwa MouseUp.
Berikut ini adalah urutan peristiwa yang dipicu untuk klik ganda mouse:
Peristiwa MouseDown.
Peristiwa Click.
Peristiwa MouseClick.
Peristiwa MouseUp.
Peristiwa MouseDown.
Peristiwa DoubleClick.
Ini dapat bervariasi, tergantung pada apakah kontrol yang dimaksud memiliki bit gaya StandardDoubleClick disetel ke
true. Untuk informasi selengkapnya tentang cara mengatur bit ControlStyles, lihat metode SetStyle.Peristiwa MouseDoubleClick.
Peristiwa MouseUp.
Pengaturan individual
Kontrol berikut ini tidak sesuai dengan perilaku peristiwa klik mouse standar:
-
Nota
Untuk kontrol ComboBox, perilaku peristiwa yang dirinci nanti terjadi jika pengguna mengklik bidang edit, tombol, atau pada item dalam daftar.
- Klik kiri: Click, MouseClick
- Klik kanan: Tidak ada peristiwa klik yang dimunculkan
- Kiri klik dua kali: Click, MouseClick; Click, MouseClick
- Klik kanan dua kali: Tidak ada peristiwa klik yang diaktifkan
kontrol TextBox, RichTextBox, ListBox, MaskedTextBox, dan CheckedListBox
Nota
Perilaku peristiwa yang dirinci nanti terjadi ketika pengguna mengklik di mana saja dalam kontrol ini.
- Klik kiri: Click, MouseClick
- Klik kanan: Tidak ada peristiwa klik yang dimunculkan
- Klik dua kali: Click, MouseClick, DoubleClick, MouseDoubleClick
- Klik kanan dua kali: Tidak ada peristiwa klik yang diaktifkan
ListView kontrol
Nota
Perilaku peristiwa yang dirinci nanti hanya terjadi ketika pengguna mengklik item dalam kontrol ListView. Tidak ada peristiwa yang dipicu untuk klik di tempat lain di kontrol. Selain peristiwa-peristiwa yang dijelaskan nanti, ada peristiwa BeforeLabelEdit dan AfterLabelEdit, yang mungkin menarik bagi Anda jika Anda ingin menggunakan validasi dengan kontrol ListView.
- Klik kiri: Click, MouseClick
- Klik kanan: Click, MouseClick
- Kiri klik dua kali: Click, MouseClick; DoubleClick, MouseDoubleClick
- Klik kanan dua kali: Click, MouseClick; DoubleClick, MouseDoubleClick
TreeView kontrol
Nota
Perilaku peristiwa yang dirinci nanti hanya terjadi ketika pengguna mengklik item itu sendiri atau di sebelah kanan item dalam kontrol TreeView. Tidak ada peristiwa yang dipicu untuk klik di tempat lain di kontrol. Selain yang dijelaskan nanti, ada peristiwa BeforeCheck, BeforeSelect, BeforeLabelEdit, AfterSelect, AfterCheck, dan AfterLabelEdit, yang mungkin menarik bagi Anda jika Anda ingin menggunakan validasi dengan kontrol TreeView.
- Klik kiri: Click, MouseClick
- Klik kanan: Click, MouseClick
- Kiri klik dua kali: Click, MouseClick; DoubleClick, MouseDoubleClick
- Klik kanan dua kali: Click, MouseClick; DoubleClick, MouseDoubleClick
Perilaku tampilan kontrol pengalih
Kontrol geser, seperti kontrol yang berasal dari kelas ButtonBase, memiliki perilaku menggambar yang khas dalam kombinasi dengan peristiwa klik pada mouse.
Pengguna menekan tombol mouse.
Pengendali menggambar dalam kondisi ditekan.
Peristiwa MouseDown diaktifkan.
Pengguna melepaskan tombol mouse.
Kontrol ditampilkan dalam keadaan naik.
Peristiwa Click diaktifkan.
Peristiwa MouseClick diaktifkan.
Peristiwa MouseUp diaktifkan.
Nota
Jika pengguna memindahkan penunjuk keluar dari kontrol toggle saat tombol mouse ditekan (seperti memindahkan mouse dari Button kontrol saat ditekan), kontrol toggle ditampilkan dalam keadaan terangkat dan hanya peristiwa MouseUp yang terjadi. Peristiwa Click atau MouseClick tidak akan terjadi dalam situasi ini.
Lihat juga
.NET Desktop feedback