好记性不如烂笔头子,现在记录下来,不一定会有很详尽的实例,只写最核心的部分。

C# winform的窗体类有KeyPreview属性,可以接收窗体内控件的键盘事件注册。
窗体和控件都有KeyDown,KeyUp,KeyPress三个事件,每个事件都会有KeyEventArgs参数传入,只要判断传入参数的KeyChar就可以了,Framework提供了Keys枚举来表示键盘上的各个键。

核心判断的代码如下:
1.单键判断
if (e.KeyCode == Keys.Delete)
{
     //处理逻辑

2.组合建判断:  
if (e.Modifiers.CompareTo(Keys.Control) == 0 && e.KeyCode == Keys.Delete)
{
     //处理逻辑
}

3.判断上键

if (key == Keys.Up || key == Keys.PageUp)
{
if (index - 2 >= 0)
{
this.lstQueryFilterControls[index - 2].SetInputControlFocus();
}

}

4.判断上键

if (key == Keys.Down || key == Keys.PageDown)
{
if (index + 2 <= this.lstQueryFilterControls.Count - 1)
this.lstQueryFilterControls[index + 2].SetInputControlFocus();
else
{
if (this.listView.Items.Count > 0)
{
this.listView.Focus();
this.listView.Items[0].Selected = true;
}
}

最新文章

  1. 根据采购/销售订单创建STO/SO
  2. [HDU 2546]饭卡 (动态规划)
  3. 二叉树删除 lisp
  4. Elasticsearch和mysql数据同步(elasticsearch-jdbc)
  5. *[topcoder]TheTree
  6. 为什么选择Typescript
  7. OpenSource.com 评出 2014 年十佳开源软件
  8. Ribbon1: 在Office菜单中添加项目
  9. delphi “Invalid floating point operation.”错误的解决方法
  10. BZOJ 1684: [Usaco2005 Oct]Close Encounter
  11. ios上禁止输入表情
  12. 蜘蛛大战之 站点LOGO(SEO)
  13. 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建
  14. 痞子衡嵌入式:第一本Git命令教程(2)- 连接(remote/clone)
  15. PostgreSQL 空间数据类型point、 line等
  16. bat中errorlevel与%errorlevel%的区别
  17. Redis缓存相关问题总结
  18. HTML5 ④
  19. Material适配2 - 高级篇
  20. python高级编程之列表推导式

热门文章

  1. 一天教你入门struts2
  2. ASP.net MVC+ViewData VS ViewBag
  3. Android Studio一些简单设置
  4. C# 性能优化 之 秒表 Stopwatch。 Dapper一个和petapoco差不多的轻量级ORM框架
  5. 报错:Binary XML file line #7: Error inflating class android.support.v7.widget.RecyclerView
  6. Random-随机生成电话号
  7. 【iOS系列】-程序开启后台运行
  8. xcode10的那些事
  9. ubuntu php5.6源码安装
  10. YTU 2953: A代码填充--学画画