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.
Menerima dan menangani input mouse adalah bagian penting dari setiap aplikasi Windows. Anda dapat menangani peristiwa mouse untuk melaksanakan aksi di aplikasi Anda, atau menggunakan informasi lokasi mouse untuk melakukan uji tabrakan atau tindakan lainnya. Selain itu, Anda dapat mengubah cara kontrol dalam aplikasi Anda menangani input mouse. Artikel ini menjelaskan peristiwa mouse ini secara rinci, dan cara mendapatkan dan mengubah pengaturan sistem untuk mouse.
Di Windows Forms, input pengguna dikirim ke aplikasi dalam bentuk pesan Windows. Serangkaian metode yang dapat diambil alih memproses pesan ini di tingkat aplikasi, formulir, dan kontrol. Ketika metode ini menerima pesan mouse, mereka menimbulkan peristiwa yang dapat direspons untuk mendapatkan informasi tentang input mouse. Dalam banyak kasus, aplikasi Windows Forms dapat memproses semua input pengguna hanya dengan menangani peristiwa ini. Dalam kasus lain, aplikasi dapat mengambil alih salah satu metode yang memproses pesan untuk mencegat pesan tertentu sebelum diterima oleh aplikasi, formulir, atau kontrol.
Peristiwa Mouse
Semua kontrol Windows Forms mewarisi serangkaian event yang terkait dengan mouse dan input keyboard. Misalnya, kontrol dapat menangani MouseClick event untuk menentukan lokasi klik mouse. Untuk informasi lebih lanjut tentang event mouse, lihat Menggunakan event mouse.
Lokasi mouse dan pemeriksaan tabrak
Ketika pengguna memindahkan mouse, sistem operasi memindahkan penunjuk mouse. Penunjuk mouse berisi satu piksel, yang disebut hot spot, yang dilacak dan dikenali sistem operasi sebagai posisi penunjuk. Ketika pengguna menggerakkan mouse atau menekan tombol mouse, Control yang berisi HotSpot memicu peristiwa mouse yang sesuai.
Anda dapat memperoleh posisi mouse saat ini dengan properti Location dari MouseEventArgs ketika menangani event mouse, atau dengan menggunakan properti Position dari kelas Cursor. Anda kemudian dapat menggunakan informasi lokasi mouse untuk melakukan uji tabrak, lalu melakukan tindakan sesuai dengan lokasi mouse. Kemampuan pengujian hit tertanam dalam beberapa kontrol di Windows Forms seperti ListView, TreeView, MonthCalendar, dan DataGridView.
Pengujian klik berguna untuk menentukan kapan aplikasi Anda harus melakukan tindakan tertentu, ketika digunakan dengan peristiwa mouse yang sesuai, seperti MouseHover.
Mengubah pengaturan input mouse
Anda dapat mendeteksi dan mengubah cara kontrol menangani input mouse dengan turun dari kontrol dan menggunakan metode GetStyle dan SetStyle. Metode SetStyle mengambil kombinasi nilai bitwise dari ControlStyles untuk menentukan apakah kontrol memiliki klik standar, perilaku klik ganda, atau jika kontrol menangani pemrosesan mouse-nya sendiri. Selain itu SystemInformation , kelas ini mencakup properti yang menjelaskan kemampuan mouse dan menentukan bagaimana mouse berinteraksi dengan sistem operasi. Tabel berikut ini meringkas properti ini.
| Harta benda | Deskripsi |
|---|---|
| DoubleClickSize | Mendapatkan dimensi, dalam piksel, dari area di mana pengguna harus mengklik dua kali agar sistem operasi menganggap dua klik tersebut sebagai klik ganda. |
| DoubleClickTime | Mendapatkan jumlah maksimum milidetik yang dapat berlalu antara klik pertama dan klik kedua agar tindakan mouse dianggap klik dua kali. |
| MouseButtons | Mendapatkan jumlah tombol pada mouse. |
| MouseButtonsSwapped | Mendapatkan nilai yang menunjukkan apakah fungsi tombol mouse kiri dan kanan telah ditukar. |
| MouseHoverSize | Mendapatkan dimensi, dalam piksel, persegi panjang di mana penunjuk mouse harus tetap berada untuk waktu hover mouse sebelum pesan mouse hover dihasilkan. |
| MouseHoverTime | Mendapatkan waktu, dalam milidetik, yang dibutuhkan agar penunjuk mouse tetap berada di area hover sebelum pesan hover mouse dihasilkan. |
| MousePresent | Memperoleh nilai yang menunjukkan apakah ada mouse yang terinstal. |
| MouseSpeed | Mendapatkan nilai yang menunjukkan kecepatan mouse saat ini, dari 1 hingga 20. |
| MouseWheelPresent | Mendapatkan informasi yang menunjukkan apakah mouse dengan roda gulir terpasang. |
| MouseWheelScrollDelta | Mendapatkan jumlah nilai delta dari kenaikan rotasi roda mouse tunggal. |
| MouseWheelScrollLines | Mendapatkan jumlah garis yang akan digulir saat roda mouse diputar. |
Metode yang memproses pesan input pengguna
Formulir dan kontrol memiliki akses ke antarmuka IMessageFilter dan serangkaian metode yang dapat diganti yang memproses pesan Windows di titik yang berbeda dalam antrean pesan. Semua metode ini memiliki parameter Message, yang merangkum detail tingkat rendah pesan Windows. Anda dapat menerapkan atau mengambil alih metode ini untuk memeriksa pesan dan kemudian menggunakan pesan atau meneruskannya ke konsumen berikutnya dalam antrean pesan. Tabel berikut menyajikan metode yang memproses semua pesan Windows dalam Formulir Windows.
| Metode | Catatan |
|---|---|
| PreFilterMessage | Metode ini mencegat pesan Windows yang diantrekan (juga dikenal sebagai diposting) di tingkat aplikasi. |
| PreProcessMessage | Metode ini mencegat pesan Windows pada tingkat formulir dan kontrol sebelum diproses. |
| WndProc | Metode ini memproses pesan Windows pada tingkat formulir dan kontrol. |
| DefWndProc | Metode ini melakukan pemrosesan default pesan Windows pada formulir dan tingkat kontrol. Ini menyediakan fungsionalitas minimal jendela. |
| OnNotifyMessage | Metode ini mencegat pesan pada tingkat formulir dan kontrol, setelah diproses. Bit gaya EnableNotifyMessage harus diaktifkan agar metode ini dapat dipanggil. |
Lihat juga
.NET Desktop feedback