我怎样才能做出键盘快捷键,需要3个或更多的按键按?
比如Ctrl+Alt+S?
if (e.KeyCode == Keys.S && Control.ModifierKeys == Keys.Control && Control.ModifierKeys == Keys.Alt)
{
SAVEc_FORCE();
}但这对我不管用。有什么建议吗?
发布于 2015-05-28 06:45:55
你必须把钥匙组合起来:
if (e.KeyCode == Keys.S && (Control.ModifierKeys == Keys.Control | Keys.Alt))Keys是标志-单个值由所有单独的枚举值(任意您想要的)组成。因此,当同时按Control和Alt时,它对应于Keys.Control | Keys.Alt的值。当然,这意味着Control.ModifierKeys == Keys.Control和Control.ModifierKeys == Keys.Alt都不返回true --尽管ModifierKeys包含这两种内容,但并不等于这两种。
作为一个扩展,如果您想匹配Keys.Control,而不管其余修饰符键的状态如何,您可以这样做:
(Control.ModifierKeys & Keys.Control) == Keys.Control或
Control.ModifierKeys.HasFlag(Keys.Control)发布于 2015-05-28 06:47:34
你必须用这样的方式编码:
if(e.KeyCode == Keys.S && e.Modifiers == (Keys.Control | Keys.Alt))
https://stackoverflow.com/questions/30499029
复制相似问题