键枚举C#,AltKey

时间:2013-02-23 13:12:30

标签: c# keyboard user-input

三个修饰键是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吗?

2 个答案:

答案 0 :(得分:1)

实际上,Alt键的实际键(非修饰符)枚举值为Keys.Menu,值为18。这只是一个命名约定。他们决定仅将Alt名称用于修饰符,将Menu用于非修饰符。有趣的是,Keys.Menu的文档说“ ALT键”。我们还有Keys.LMenuKeys.RMenu

答案 1 :(得分:0)

猜测我会说缺少Alt键是因为在WinForms开发中,用于设置快捷键的范例是在带有&字符的字母前加上,例如, E&xit。运行应用程序时,会自动将其设置为快捷命令Alt + X.大多数Windows快捷键都是以这种方式在开发中设置的,几乎消除了为什么要在代码中检测它 - 或者至少是KeyDown事件。也就是说,我个人原本希望Alt键可用。