C# 窗体(Form)中如何实现全局快捷键 如 [Ctrl + Enter]_c# 全局快捷键(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

大家都知道Form有个AcceptButton属性…就是绑定一个button,然后不管当前焦点在窗体(Form)的某个控件上,只要按回车就会响应相应的button事件…

this.AcceptButton = button1;  //按回车就会响应button1的Click事件

但是这个只能实现回车啊…如果想实现Ctrl + Enter或者其他的Ctrl+ XXX 怎么办呢(如:QQ一样,按Ctrl + Enter发送消息)…

很多人马上会想到用KeyDown 事件…没用,如果焦点不在Form上…不会响应这个事件的 ,于是乎可能这个时候很多人想到了用什么API 函数实现…满世界的找相关的信息… 甚至上CSND上问…呵呵

我这里介绍的方法不用什么API函数,一看就会…可能很多人已经用过这个功能啦…知道的可以不看啊

用菜单实现MenuStrip 和 ContextMenuStrip 控件都可以实现…额,我一提到这个控件大家十七八九应该知道怎么用了吧?

拖一个菜单MenuStrip 或者ContextMenuStrip  给菜单添加一个Item…类型是ToolStripMenuItem(就是一个普通的文本),注册Click事件,如果是ContextMenuStrip 那么要绑定给Form窗体…

this.testToolStripMenuItem.Click += new System.EventHandler(this.testToolStripMenuItem_Click);

//

private void testToolStripMenuItem_Click(object sender,EventArgs e)

{

MessageBox.Show(“按啦Ctrl + Enter …”);

}

ToolStripMenuItem是有一个属性[ShortcutKeys]的专门设置快捷看的…而且这个快捷看是全局的,就是焦点不管落在那个控件上,只要按相应的快捷键都会响应相应的Click事件…

如果在属性栏上设置ShortcutKeys属性为Ctrl + B,就是在Form1.Designer.cs文件中看到这样一段代码

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值