由于手速太快导致快捷键功能失效的解决方案

在给winform窗体添加的快捷键功能由于手速太快而导致了失效,比如我给我的窗体程序添加了一个Ctrl+F的检索功能,而我在快速点击Ctrl+F的时候会发现这个快捷键的功能失效了,检索的窗口没有显示出来。调查结果和解决方案如下:

一开始我在给KeyUp事件里判断快捷键的代码是

1             // ctrl + F key
2             if (e.KeyCode == Keys.Control && e.KeyCode == Keys.F)
3             {
4               ...
5             }

修改后:

1             // ctrl + F key
2             if (e.Modifiers == Keys.Control && e.KeyCode == Keys.F)
3             {
4                  ...
5             }

用KeyEventArgs.Modifiers来判断Control键的输入,手速再快也没事。

Modifiers是特定修饰符。在MSDN的文档描述Modifiers的用法时说:若要确定是否按下Ctrl,Shift,Alt键请使用Modifiers属性。

原文地址:https://www.cnblogs.com/forbetter223/p/10063539.html