Prinsip Kerja Input Keyboard
Windows Forms menangani input keyboard dengan memunculkan peristiwa keyboard sebagai respons terhadap pesan Windows. Sebagian besar aplikasi Windows Forms menangani input keyboard secara eksklusif dengan memproses peristiwa keyboard. Namun, untuk mengimplementasikan skenario input keyboard yang lebih canggih (seperti mencegat penekanan tombol sebelum mencapai kontrol), sangat penting untuk memahami cara kerja pesan keyboard. Topik ini menjelaskan jenis data penekanan tombol yang dapat dikenali oleh Windows Forms dan menguraikan cara pesan keyboard dikirimkan. Untuk informasi tentang peristiwa keyboard, lihat Menggunakan Peristiwa Keyboard.
Windows Forms mengidentifikasi input keyboard sebagai kode kunci virtual yang diwakili oleh bitwise Keys
enumerasi. Keys
enumerasi memungkinkan Anda untuk menggabungkan serangkaian penekanan tombol untuk menghasilkan nilai tunggal, yang sesuai dengan nilai yang disertai dengan pesan Windows WM_KEYDOWN
dan WM_SYSKEYDOWN
. Sebagian besar operasi tombol fisik dapat dideteksi dengan menangani peristiwa KeyDown
atau KeyUp
.
Tombol karakter adalah subset dari Keys
enumerasi, yang sesuai dengan nilai yang disertai dengan pesan Windows WM_CHAR
dan WM_SYSCHAR
. Jika kombinasi penekanan tombol menghasilkan karakter, Anda dapat mendeteksinya dengan menangani peristiwa KeyPress
. Atau, Anda dapat menggunakan objek Keyboard
yang diekspos oleh antarmuka pemrograman Visual Basic untuk mengidentifikasi dan mengirimkan tombol yang ditekan. Untuk informasi lebih lanjut, lihat Mengakses Keyboard.
Seperti yang tercantum di atas, tiga peristiwa terkait keyboard dapat terjadi pada suatu kontrol. Berikut adalah urutan umum terjadinya peristiwa ini:
- Pengguna menekan tombol "a". Tombol diproses sebelumnya dan dikirim, dan peristiwa
KeyDown
terjadi.
- Pengguna menahan tombol "a". Tombol diproses sebelumnya dan dikirim, dan peristiwa
KeyPress
terjadi.
- Peristiwa ini terjadi beberapa kali jika pengguna menahan tombol.
- Pengguna melepaskan tombol "a". Tombol diproses sebelumnya dan dikirim, dan peristiwa
KeyUp
terjadi.