C# WinForm 键盘快捷键的使用
C# WinForm 键盘快捷键的使用
WinForm中定义快捷键有多种方式,这里简单说明平时用得多的两种。
1、响应 Form窗体的 KeyDown 事件
注意:需要设置Form窗体的 KeyPreview 属性为 true (默认false)
示例:
private void MainForm_KeyDown(object sender, KeyEventArgs e){ switch (e.KeyCode){case Keys.F1://... break;case Keys.Escape://...break;case Keys.O:if (e.Control){// Ctrl + O}break;case Keys.Oemcomma: //逗号键// ...break;case Keys.OemPeriod: //句号键// ...break;case Keys.Oem1: // 分号// ... break;case Keys.Oem7: // 引号// ...break; case Keys.Up: // 无效// ...return true;case Keys.Down: //无效// ...return true; }
问题
使用以上方法,可以对大多数键有效,当对于部分被系统使用的键,比如 向上箭头,系统默认是移动空间焦点的快捷键。要实现这些键的响应自定义,就需要使用下面这种方法。
2、重载 ProcessCmdKey 方法
直接看代码:
“` csharp
protected override bool ProcessCmdKey(ref Message msg, Keys keyData){switch (keyData){case Keys.Up:// ...return true;case Keys.Down:// ...return true;}return false;}
关键:
重载 ProcessCmdKey 需要注意的是返回值,返回值为 true,则表示系统不再响应该按键,false 表示在完成你自定义的响应操作后,系统会按照预定义的方式继续响应这个键。
比如:如果不想让系统响应 Up 键,在捕捉到 Keys.Up,响应完自定义的事件之后,可以返回 true,屏蔽系统对这个键的响应。
一般最后的一句话是返回 false,除非想对系统屏蔽所有的键。
附录:
虚拟键码对照表:
http://www.cnblogs.com/del/archive/2007/12/07/987364.html
C# WinForm 键盘快捷键的使用相关推荐
- 易语言模拟键盘(ctrl+v)_键盘快捷键使用大全
键盘快捷键使用大全,所谓快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,从而达到提高操作速度的目的.下面为大家介绍一些常用快捷键的使用和功能. 键盘快捷键使用大全 下面来看看各种电脑快捷键 ...
- 怎样使用计算机操作,怎么使用键盘快捷键操作电脑
使用快捷键的时候,可以使我们更好更快捷地使用自己的电脑,下面是学习啦小编为大家介绍键盘快捷键操作电脑的方法,欢迎大家阅读. 键盘快捷键操作电脑的方法 1.Fx F1:打开帮助 F2:如果你选中了一个文 ...
- IntelliJ IDEA中跳转到上一个视图位置(向后/向前导航)的键盘快捷键
本文翻译自:Keyboard shortcut for Jump to Previous View Location (Navigate back/forward) in IntelliJ IDEA ...
- mac睡眠快捷键_mac键盘快捷键大全
macos下都有哪些Mac 键盘快捷键呢?不少果粉抱怨高上大的macbook不好用,相比于之前习惯了Windows操作的用户们,转战到mac的阵营还真是会觉得不大习惯呢.觉得不好用的朋友很可能就在于你 ...
- [No0000A6]Visual Studio 2015 中的常用命令的默认键盘快捷键-VS2015 Shortcut
注意:你也可以通过打开"选项"对话框,展开"环境"节点,然后选择"键盘",查找任何命令的快捷键. Build(生成) 命令 键盘快捷键 [上 ...
- 实用:Google Chrome 键盘快捷键大全
Google Help: Keyboard mouse Shortcut http://www.google.com/support/chrome/bin/static.py?page=guide.c ...
- OS X 键盘快捷键
原文出处 : http://support.apple.com/kb/HT1343?viewlocale=zh_CN&locale=zh_CN 若要使用键盘快捷键或按键组合,您可以同时按修饰键 ...
- ubuntu idea桌面快捷方式无法启动_每个 Ubuntu 用户都应该知道的键盘快捷键
(给Linux爱好者加星标,提升Linux技能) 转自:ITPUB技术小栈 无论使用什么操作系统,键盘快捷键都可以帮助你快速上手,可以在启动应用程序或导航到所需窗口时节省时间和精力. 就像Window ...
- 智能J IDEA键盘快捷键
智能J IDEA键盘快捷键 最后修改时间:08 十二月 2021 IntelliJ IDEA为其与编辑,导航,重构,调试和其他任务相关的大多数命令提供了键盘快捷键.记住这些热键可以帮助您通过将手放在键 ...
- Chrome 键盘快捷键(Mac)
Chrome 键盘快捷键(Mac) 转自Google官网,原文链接:https://support.google.com/chrome/answer/157179?hl=zh-Hans&vis ...
最新文章
- GB:徐健/王师/黄适合作开发微生物组测序新方法2bRAD-M
- 应用MaxCompute实现变压器局部放电相位分析
- java 之 异常
- java 在线电影_java电影在线影评管理系统
- java定义一个getsize方法,long getSize()
- 【sqlite常用操作SQL语句】
- python实战excel_实战python 读写EXCEL表
- 自适应辛普森(算法简要 + 模板)
- PHP 社区拒绝在俄乌冲突中“站队”
- php 运行外部程序_PHP在linux上执行外部命令的方法
- mysql 参数配置优化
- RecyclerView Widget 使用
- 如何让自己电脑的鼠标指针变的更炫酷来看看这个吧
- MAVEN 修改为阿里数据源
- SEO网站优化是什么
- 安徽新科技计算机学校是高中吗,2021最新安徽高中排名一览表 所以高中学校
- 使用微PE安装U盘windows系统
- 人类简史 十一章 帝国的愿景
- 推荐 6 个火爆 GitHub 的开源项目
- 浅谈Oracle索引,看了都说好!
热门文章
- 计算机专业本科毕业论文要求,计算机学院本科生毕业设计(论文)规范化要求.doc...
- InstallShield, Product Codes, Package Codes, and Upgrade Codes, Oh my god!
- 折叠手机风口下,国产屏要翻身了?
- 基于canvas使用粒子拼出你想要的文字
- 算法第四天|LeetCode24、LeetCode19、LeetCode面试题 02.07、LeetCode142
- Python Day 8: html 基本知识
- JAVA毕设项目BS景区票务管理系统设计与实现(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
- ESD门禁管理系统的主要功能和优势
- vue中不同路由共用同一个组件,缓存数据。不同路由第一次进入走加载,二次缓存
- B、L如何区分经度和纬度?