首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >键盘快捷键,需要3个或更多键

键盘快捷键,需要3个或更多键
EN

Stack Overflow用户
提问于 2015-05-28 06:43:04
回答 2查看 89关注 0票数 2

我怎样才能做出键盘快捷键,需要3个或更多的按键按?

比如Ctrl+Alt+S?

代码语言:javascript
复制
if (e.KeyCode == Keys.S && Control.ModifierKeys == Keys.Control && Control.ModifierKeys == Keys.Alt)
{
        SAVEc_FORCE();
}

但这对我不管用。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-28 06:45:55

你必须把钥匙组合起来:

代码语言:javascript
复制
if (e.KeyCode == Keys.S && (Control.ModifierKeys == Keys.Control | Keys.Alt))

Keys是标志-单个值由所有单独的枚举值(任意您想要的)组成。因此,当同时按ControlAlt时,它对应于Keys.Control | Keys.Alt的值。当然,这意味着Control.ModifierKeys == Keys.ControlControl.ModifierKeys == Keys.Alt都不返回true --尽管ModifierKeys包含这两种内容,但并不等于这两种。

作为一个扩展,如果您想匹配Keys.Control,而不管其余修饰符键的状态如何,您可以这样做:

代码语言:javascript
复制
(Control.ModifierKeys & Keys.Control) == Keys.Control

代码语言:javascript
复制
Control.ModifierKeys.HasFlag(Keys.Control)
票数 2
EN

Stack Overflow用户

发布于 2015-05-28 06:47:34

你必须用这样的方式编码:

if(e.KeyCode == Keys.S && e.Modifiers == (Keys.Control | Keys.Alt))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30499029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档