How to check if a ctrl + enter is pressed on a control?
通过注册ComponentDispatcher.ThreadPreprocessMessage 事件实现。

// Registering against a stack event will cause memory leak, please unregister this event when you are done with it.
ComponentDispatcher.ThreadPreprocessMessage += ComponentDispatcher_ThreadPreprocessMessage;

// WM_KEYDOWN 是按下一个键是产生的消息。
const

int WM_KEYDOWN = 0x100;
// WM_SYSKEYDOWN 是按下Alt键同时再按下别的键时产生的消息。
const int WM_SYSKEYDOWN = 0x0104;

void ComponentDispatcher_ThreadPreprocessMessage(ref MSG msg, ref bool handled)

{

if (msg.message == WM_KEYDOWN || msg.message == WM_SYSKEYDOWN)

{

// Examine if the Control and Enter keys are pressed, we also need to make sure that the 
        // currently keyborad focused element is TextBox instance itself. 
        // "|" 二进制或运算,有一个为1则结果为1。
        // "&" 二进制与运算,两个都为1则结果为1. Keys转换为int的值就是Keys这个枚举类中定义的该枚举项的值。

Keys keyData = ((Keys)((int)(msg.wParam))) | System.Windows.Forms.Control.ModifierKeys;

if (((keyData & Keys.Control) == Keys.Control) &&

((keyData & Keys.Enter) == Keys.Enter) &&

Keyboard.FocusedElement == this.txtBox)

{

System.Windows.MessageBox.Show("Ctrl+Enter is pressed");

}

}
}

posted on 2008-08-22 16:24 cutebear 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/bear831204/archive/2008/08/22/1273188.html

How to check if a ctrl + enter is pressed on a control?相关推荐

  1. 使用Jupyter notebook,为什么按下ctrl+enter后,没有输出,也没有报错,而是一直出现“*”呢?

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Sir_viter/article/de ...

  2. 如何在 JavaFX 的 TextArea 实现回车发送信息而不换行,但组合键 Ctrl + Enter 换行

    如何在 JavaFX 的 TextArea 实现回车发送信息而不换行,但组合键 Ctrl + Enter 换行   JavaFX 的恼人之处在于很多基本的操作都要自己亲力亲为.在默认情况下,在 Tex ...

  3. 对应的ctrl_取消单元格合并,对空白单元格填充数据,学会Ctrl+Enter五秒搞定

    Excel统计数据过程中,相信大家最不想碰到的就是合并单元格,因为合并区域会对我们的数据统计造成各种麻烦.取消单元格合并后,除第一个单元格有内容外其他的单元格都成了空值. 案例说明:如上图所示,我们需 ...

  4. ctrl+enter键

    jQuery中对键盘事件进行了修正 调用函数的时候传入事件即可. 通过事件的which可以找到键码 不过当有组合键的时候还需要注意一下 如ctrl+enter键,虽然都是用e.ctrlKey但是 en ...

  5. jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)

    键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部.键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,documen ...

  6. vue绑定键盘事件 ctrl+enter触发事件

    公司项目(vue+element)有个需求,是在一个input输入内容后按下Enter键进行搜索查询,查询到得数据显示在表格,勾选表格的选中的数据进行提交(提交按钮的快捷键是Ctrl+Enter键盘) ...

  7. vue ctrl+enter 实现换行

    模仿微信enter发送 ctrl+enter 换行 template 核心是@keyup.enter.exact 和 @keyup.ctrl.enter <textareav-if=" ...

  8. ctrl+Enter 自动加上 .com 而不是 .com.cn

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar 新增 項 ,名稱為 QuickComplete 再在QuickComple ...

  9. 使用Jupyter notebook,按下ctrl+enter后,一直出现In[*]呢?

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_33431972/article/ ...

最新文章

  1. 京津冀计算机学科大学排名,2021京津冀地区大学排名!北师大第3,北航第7,人大不敌天大?...
  2. 【Netty】NIO 缓冲区 ( Buffer ) 组件
  3. 【CI/CD1】jenkins
  4. ppk on javascript 笔记(五)
  5. 信息学奥赛一本通 1056:点和正方形的关系 | OpenJudge NOI 1.4 18
  6. MUI 上滑加载(没有更多数据)页面回弹 - 效果
  7. 《scikit-learn》SVM(二)数据不均衡
  8. 理解《Deblurring Text Images via L0-Regularized Intensity and Gradient Prior》
  9. python源码提取_从PyInstaller打包生成的EXE文件中提取Python源码
  10. Android 获取手机分辨率
  11. 怎样查找计算机死机日志,死机和日志错误
  12. 我的世界服务器无限血,我的世界生物血量无限指令 | 手游网游页游攻略大全
  13. 【成像】【4】产生连续波Terahertz辐射
  14. [1108]小米5S TWRP刷面具、EdXposed
  15. [转] 心态是最大的本钱;人无完人,重要的是怎么做人
  16. python实现中撤销上一步的代码mac_苹果电脑command+z撤销后如何恢复撤销前的上一步?...
  17. IOTOS通采盒为BIM运维、GIS、CIM、数字孪生及IBMS高效率、低成本打通数据,接入楼宇园区子系统设备
  18. 简单处理Ubuntu无法联网的问题
  19. ?. !!. ?.let和?: 的区别
  20. java中ioc作用_Spring中的IOC是什么意思,为什么要用IOC而不是New来创建实例?

热门文章

  1. canvas笔记-lineCap的使用
  2. C++ opengl 复合运动
  3. SQLite允许向一个integer型字段中插入字符串
  4. python全部语法_python基本语法
  5. 安远职业高中计算机专业,安远中等专业学校2021年招生简章
  6. 黑客必须了解的网络知识
  7. 利用ida python 实现复原函数调用的参数 (仅对数据被简单硬编码有效)
  8. SQL注入:6、SQLMAP的使用
  9. 武器级工具包 Immunity Canvas 7.26 泄露(个人百度网盘)
  10. Python 分离路径和文件名,分离文件名和后缀