博主並沒有多少Windows平台下程序的開發經驗,一年前使用過MFC設計過一個指紋識別系統的頁面,後來就沒有使用過幾次。現在C#課程實驗要求實現一個簡易計算器,為了便於快速錄入數據,使用鍵盤會比使用鼠標點擊按鈕高效很多。比如按下小鍵盤的數字1,能夠實現和用鼠標點擊按鈕1一樣的效果就行。
百度了一遍,找到的教程幾乎是一模一樣的,各種csdn轉載的博文上都提供了好幾種方法,但試了沒有一個管用,不知道什麼地方配置出錯了。後來Google了一下,點擊第一個搜索結果,StackOverFlow的問答,順利解決了我的問題。
要實現自定義鍵盤按鍵,只要覆寫protected override bool ProcessCmdKey(ref Message msg, Keys keyData)這個方法(函數)就好了。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { // if it is a hotkey, return true; otherwise, return false switch (keyData) { case Keys.NumPad0: //焦點定位到控件button_num_0上,即數字0鍵上 button_num_0.Focus(); //執行按鈕點擊操作 button_num_0.PerformClick(); return true; case Keys.NumPad1: button_num_1.Focus(); button_num_1.PerformClick(); return true; //...... default: break; } return base.ProcessCmdKey(ref msg, keyData); }
完整的項目示例代碼請看這篇文章:http://www.cnblogs.com/zyfdeblog/p/4567071.html:
原創文章,轉載時務必附上原文地址。謝謝。