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

  原创文章,转载时务必附上原文地址。谢谢。

posted @ 2015-06-10 19:36  张以法  阅读(4477)  评论(0编辑  收藏  举报