2

三个修饰键是 Control、Alt 和 Shift。
在按键枚举中,有 Control 和 ControlKey,Shift 和 ShiftKey 和 Alt,但缺少 AltKey。

Keys.ControlKey 指的是实际的 Ctrl 键,而 Keys.Control 指的是控件修改。同样,Keys.ShiftKey 指的是实际的 Shift 键,而 Keys.Shift 指的是移位修改。

实际的 Alt 键呢?
可以自己按下,Keys枚举中对应的元素应该是Keys.AltKey!

您能解释一下 Keys 枚举中缺少 vlaue Keys.AltKey 吗?

4

2 回答 2

2

实际上,Alt 键的真正键(不是修饰符)枚举值Keys.Menu18. 这只是一个命名约定。他们决定Alt仅将名称用于修饰符,而Menu用于非修饰符。有趣的是,文档中Keys.Menu写着“ ALT 键”。我们也有Keys.LMenuKeys.RMenu

于 2013-02-23T13:50:06.250 回答
0

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

于 2013-02-23T13:38:42.190 回答