博主并没有多少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

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

最新文章

  1. javascript event(事件对象)详解
  2. jq实现 按钮点击一次后 3秒后在可点击
  3. 【Android】android中Invalidate和postInvalidate的区别
  4. 寒假D1 B
  5. css“变形”效果
  6. UITableView & UITableViewController
  7. Form_Form页面跳转的四种方式(open_form, call_form, new_form, fnd_function)详解(汇总)
  8. 微软IOC容器Unity简单代码示例1
  9. awk中文手册
  10. Qt创建窗体的过程
  11. Android 不规则图像填充 小玩着色游戏
  12. linux单项目发布流程
  13. 开源unittest测试报告源码BSTestRunner.py
  14. Qt532.线程(_beginthread)
  15. 20155301 Exp4 恶意代码分析
  16. R语言常用包分类总结
  17. CsvHelper文档-6类型转换
  18. iOS:UIPageViewController翻页控制器控件详细介绍
  19. iOS开发之XMPPFramework环境搭建和配置
  20. web安全漏洞种类

热门文章

  1. 新建一个mybatis HelloWorld
  2. java 数据结构
  3. Troubleshooting 'library cache: mutex X' Waits.
  4. Android——学习笔记
  5. IIS报错,App_global.asax.×××.dll拒绝访问
  6. JavaScript对象的创建之动态原型方式
  7. JNI_Android项目中调用.so动态库实现详解【转】
  8. Linux神器之Strace的实践(Ubuntu上服务幽灵般的消失)
  9. Unity AssetBundles and Resources指引 (一)
  10. 3.5 The Lexical-Analyzer Generator Lex