三个修饰键是Control,Alt和Shift 在键枚举中,有Control和ControlKey,Shift和ShiftKey以及Alt,但缺少AltKey。
Keys.ControlKey引用实际的Ctrl键,而Keys.Control引用控件修改。 类似地,Keys.ShiftKey引用实际的Shift键,而Keys.Shift引用移位修改。
实际的Alt键怎么样?
它可以自己按下,Keys枚举中的相应元素应该是Keys.AltKey!
您能解释一下Keys枚举中缺少值Key.AltKey吗?
答案 0 :(得分:1)
实际上,Alt键的实际键(非修饰符)枚举值为Keys.Menu
,值为18
。这只是一个命名约定。他们决定仅将Alt
名称用于修饰符,将Menu
用于非修饰符。有趣的是,Keys.Menu
的文档说“ ALT键”。我们还有Keys.LMenu
和Keys.RMenu
。
答案 1 :(得分:0)
猜测我会说缺少Alt键是因为在WinForms开发中,用于设置快捷键的范例是在带有&
字符的字母前加上,例如, E&xit
。运行应用程序时,会自动将其设置为快捷命令Alt + X.大多数Windows快捷键都是以这种方式在开发中设置的,几乎消除了为什么要在代码中检测它 - 或者至少是KeyDown事件。也就是说,我个人原本希望Alt键可用。