Bagikan melalui


Cara Kerja Input Mouse di Formulir Windows

Menerima dan menangani input mouse adalah bagian penting dari setiap aplikasi Windows. Anda dapat menangani peristiwa mouse untuk melakukan tindakan di aplikasi Anda, atau menggunakan informasi lokasi mouse untuk melakukan pengujian temuan atau tindakan lainnya. Selain itu, Anda dapat mengubah cara kontrol dalam aplikasi Anda menangani input mouse. Topik ini menjelaskan peristiwa mouse ini secara rinci, dan cara mendapatkan dan mengubah pengaturan sistem untuk mouse. Untuk informasi selengkapnya tentang data yang disediakan dengan peristiwa mouse dan urutan di mana peristiwa klik mouse dinaikkan, lihat Peristiwa Mouse di Formulir Windows.

Lokasi Mouse dan Pengujian Hit

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 memindahkan mouse atau menekan tombol mouse, Control yang berisi HotSpot menaikkan peristiwa mouse yang sesuai. Anda dapat memperoleh posisi mouse saat ini dengan Location properti MouseEventArgs saat menangani peristiwa mouse atau dengan menggunakan Position properti Cursor kelas . Anda kemudian dapat menggunakan informasi lokasi mouse untuk melakukan pengujian hit, lalu melakukan tindakan berdasarkan lokasi mouse. Kemampuan pengujian klik dibangun ke beberapa kontrol di Formulir Windows seperti ListViewkontrol , , TreeViewMonthCalendar dan DataGridView . Digunakan dengan peristiwa mouse yang sesuai, MouseHover misalnya, pengujian hit sangat berguna untuk menentukan kapan aplikasi Anda harus melakukan tindakan tertentu.

Peristiwa Mouse

Cara utama untuk merespons input mouse adalah dengan menangani peristiwa mouse. Tabel berikut ini memperlihatkan peristiwa mouse dan menjelaskan kapan peristiwa tersebut dinaikkan.

Peristiwa Mouse Deskripsi
Click Kejadian ini terjadi ketika tombol mouse dirilis, biasanya sebelum MouseUp peristiwa. Handler untuk kejadian ini menerima argumen jenis EventArgs. Tangani kejadian ini saat Anda hanya perlu menentukan kapan klik terjadi.
MouseClick Kejadian ini terjadi ketika pengguna mengklik kontrol dengan mouse. Handler untuk kejadian ini menerima argumen jenis MouseEventArgs. Tangani kejadian ini ketika Anda perlu mendapatkan informasi tentang mouse ketika klik terjadi.
DoubleClick Kejadian ini terjadi ketika kontrol diklik dua kali. Handler untuk kejadian ini menerima argumen jenis EventArgs. Tangani peristiwa ini ketika Anda hanya perlu menentukan kapan klik ganda terjadi.
MouseDoubleClick Kejadian ini terjadi ketika pengguna mengklik dua kali kontrol dengan mouse. Handler untuk kejadian ini menerima argumen jenis MouseEventArgs. Tangani kejadian ini ketika Anda perlu mendapatkan informasi tentang mouse ketika klik ganda terjadi.
MouseDown Kejadian ini terjadi ketika penunjuk mouse berada di atas kontrol dan pengguna menekan tombol mouse. Handler untuk kejadian ini menerima argumen jenis MouseEventArgs.
MouseEnter Peristiwa ini terjadi ketika penunjuk mouse memasuki batas atau area klien kontrol, tergantung pada jenis kontrol. Handler untuk kejadian ini menerima argumen jenis EventArgs.
MouseHover Kejadian ini terjadi ketika penunjuk mouse berhenti dan bersandar di atas kontrol. Handler untuk kejadian ini menerima argumen jenis EventArgs.
MouseLeave Kejadian ini terjadi ketika penunjuk mouse meninggalkan batas atau area klien kontrol, tergantung pada jenis kontrol. Handler untuk kejadian ini menerima argumen jenis EventArgs.
MouseMove Kejadian ini terjadi ketika penunjuk mouse bergerak saat berada di atas kontrol. Handler untuk kejadian ini menerima argumen jenis MouseEventArgs.
MouseUp Kejadian ini terjadi ketika penunjuk mouse berada di atas kontrol dan pengguna melepaskan tombol mouse. Handler untuk kejadian ini menerima argumen jenis MouseEventArgs.
MouseWheel Kejadian ini terjadi ketika pengguna memutar roda mouse saat kontrol memiliki fokus. Handler untuk kejadian ini menerima argumen jenis MouseEventArgs. Anda dapat menggunakan Delta properti untuk MouseEventArgs menentukan seberapa jauh mouse telah menggulir.

Mengubah Input Mouse dan Mendeteksi Pengaturan Sistem

Anda dapat mendeteksi dan mengubah cara kontrol menangani input mouse dengan turun dari kontrol dan menggunakan GetStyle metode dan SetStyle . Metode ini SetStyle mengambil kombinasi ControlStyles nilai bitwise untuk menentukan apakah kontrol akan memiliki perilaku klik standar atau klik ganda atau jika kontrol akan menangani pemrosesan mousenya sendiri. Selain itu, SystemInformation kelas ini mencakup properti yang menggambarkan kemampuan mouse dan menentukan bagaimana mouse berinteraksi dengan sistem operasi. Tabel berikut ini meringkas properti ini.

Properti Deskripsi
DoubleClickSize Mendapatkan dimensi, dalam piksel, dari area di mana pengguna harus mengklik dua kali untuk sistem operasi untuk mempertimbangkan dua klik klik dua kali.
DoubleClickTime Mendapatkan jumlah maksimum milidetik yang dapat berlalu antara klik pertama dan klik kedua untuk sistem operasi untuk mempertimbangkan tindakan mouse 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, bahwa penunjuk mouse harus tetap berada di persegi panjang hover sebelum pesan mouse hover dihasilkan.
MousePresent Mendapatkan nilai yang menunjukkan apakah mouse diinstal.
MouseSpeed Mendapatkan nilai yang menunjukkan kecepatan mouse saat ini, dari 1 hingga 20.
MouseWheelPresent Mendapatkan nilai yang menunjukkan apakah mouse dengan roda mouse diinstal.
MouseWheelScrollDelta Mendapatkan jumlah nilai delta dari kenaikan rotasi roda mouse tunggal.
MouseWheelScrollLines Mendapatkan jumlah garis yang akan digulir saat roda mouse diputar.

Baca juga