ID Artikel: 320584 - Kajian Terakhir: 26 September 2011 - Revisi: 2.0 Bagaimana untuk menjebak penekanan tombol di kontrol dengan menggunakan Visual C#
Pada Halaman iniRINGKASANArtikel ini menunjukkan bagaimana untuk menjebak penekanan tombol di kontrol Windows Forms. Dengan menggunakan kode contoh dalam artikel ini, Anda dapat mencegat keystroke hampir setiap individu. Anda juga dapat mencegat kombinasi tombol, termasuk CTRL dan ALT. Teknik ini tidak menangkap kunci Print Screen. Selain itu, beberapa penekanan tombol dari keyboard dengan tombol tambahan, seperti kunci yang mengendalikan Web browser atau CD-ROM player, mungkin tidak ditangkap. Untuk sebagian besar tujuan, standar KeyUp, KeyDown, dan Menekan tombol peristiwa yang cukup untuk menangkap dan menangani penekanan tombol. Namun, tidak semua kontrol meningkatkan peristiwa ini untuk semua penekanan tombol di bawah semua kondisi. Sebagai contoh, perhatikan DataGrid kontrol: Jika tidak ada data yang telah ditetapkan untuk grid, tombol panah (panah kiri, kanan panah, panah atas dan bawah) menaikkan hanya KeyUp acara. Kunci lain, seperti sebagai a atau 4, mengumpulkan semua tiga peristiwa. Jika DataGrid saat ini menampilkan data, tidak ada keyboard standar peristiwa yang dibesarkan untuk tombol navigasi. Penekanan tombol seperti sebagai a atau 4 meningkatkan tidak ada acara, meningkatkan hanya KeyUp, atau meningkatkan semua tiga peristiwa, tergantung pada apa yang dipilih dalam kontrol. Dalam situasi ini, Anda dapat mengikuti langkah-langkah dalam artikel ini untuk menangkap keystrokes, terlepas dari keadaan kontrol. Contoh kode dalam artikel ini ditulis untuk bekerja dengan DataGrid, karena DataGrid adalah kontrol yang fitur ini sering diminta. Anda dapat menggunakan pendekatan yang sama dengan lain.NET kontrol. Mengatur kunci perangkapUntuk menjebak penekanan tombol di kontrol Windows Forms, Anda harus memperoleh kelas baru yang didasarkan pada kelas kontrol yang Anda inginkan, dan Anda menimpa ProcessCmdKey metode. Dalam metode ini ditimpa, Anda akan menempatkan kode untuk proses penekanan tombol yang Anda inginkan untuk menjebak. Dalam kode contoh berikut adalah contoh dari struktur dasar untuk seperti kelas:Menerapkan metode ditimpaSistem melewati dua parameter untuk ProcessCmdKey metode: MSG dan keyData. The MSG parameter ini berisi jendela pesan, misalnya WM_KEYDOWN. The keyData parameter ini berisi kode kunci tombol yang ditekan. Jika CTRL atau ALT juga ditekan, keyData parameter ini berisi informasi ModifierKey.Menggunakan MSG parameter ini tidak wajib; Anda dapat mengabaikan hal itu. Ini adalah praktik yang baik, namun, tes pesan. Dalam contoh ini, Anda menguji WM_KEYDOWN untuk memverifikasi bahwa ini adalah acara penekanan. Anda juga menguji WM_SYSKEYDOWN, sehingga tidak mungkin untuk menangkap kombinasi penekanan yang mencakup tombol kontrol (terutama ALT dan CTRL). Untuk menjebak kunci tertentu, Anda dapat mengevaluasi keyCode dengan membandingkan untuk Kunci Pencacahan. Berikut kode sampel menunjukkan bagaimana untuk menangkap penekanan tombol panah atas, bawah, TAB, CTRL + M, dan ALT + Z: Membangun sebuah contohContoh berikut menunjukkan cara untuk menjebak keystrokes dengan DataGrid kontrol.
Berlaku bagi:
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah. Klik disini untuk melihat versi Inggris dari artikel ini:320584
(http://support.microsoft.com/kb/320584/en-us/
)
| Sumber Lain Situs Pendukung Lain
KomunitasCari Bantuan SekarangTerjemahan Artikel |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Kembali ke atas
