Bagikan melalui


Gambaran umum penggunaan mouse (Formulir Windows .NET)

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. Artikel ini menjelaskan peristiwa mouse ini secara rinci, dan cara mendapatkan dan mengubah pengaturan sistem untuk mouse.

Penting

Dokumentasi Panduan Desktop untuk .NET 7 dan .NET 6 sedang dibangun.

Dalam Formulir Windows, 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 meningkatkan peristiwa yang dapat ditangani untuk mendapatkan informasi tentang input mouse. Dalam banyak kasus, aplikasi Formulir Windows 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 Formulir Windows mewarisi serangkaian peristiwa yang terkait dengan mouse dan input keyboard. Misalnya, kontrol dapat menangani MouseClick peristiwa untuk menentukan lokasi klik mouse. Untuk informasi selengkapnya tentang peristiwa mouse, lihat Menggunakan peristiwa mouse.

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.

Mengubah pengaturan input mouse

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 klik standar, perilaku klik dua kali, atau jika kontrol akan menangani pemrosesan mousenya 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.

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 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, 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.

Metode yang memproses pesan input pengguna

Formulir dan kontrol memiliki akses ke IMessageFilter antarmuka dan serangkaian metode yang dapat diganti yang memproses pesan Windows di titik yang berbeda dalam antrean pesan. Semua metode ini memiliki Message parameter, 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 EnableNotifyMessage gaya harus diatur agar metode ini dipanggil.

Baca juga