WinForm中為按鈕添加鍵盤快捷鍵,超簡單,親測有效


  博主並沒有多少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

  原創文章,轉載時務必附上原文地址。謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM