键枚举 C#、AltKey
Posted
技术标签:
【中文标题】键枚举 C#、AltKey【英文标题】:Keys enumeration C#, AltKey 【发布时间】:2013-02-23 13:12:30 【问题描述】:三个修饰键是 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 吗?
【问题讨论】:
【参考方案1】:实际上,Alt 键的真正键(不是修饰符)枚举值为Keys.Menu
,其值为18
。这只是一个命名约定。他们决定将Alt
名称仅用于修饰符,将Menu
用于非修饰符。有趣的是,Keys.Menu
的文档说“ALT 键”。我们还有Keys.LMenu
和Keys.RMenu
。
【讨论】:
【参考方案2】:我猜我会说缺少 Alt 键是由于在 WinForms 开发中,用于设置快捷键的范例是在字母前加上 &
字符,例如 @987654322 @。当应用程序运行时,它会自动设置为快捷命令 Alt+X。大多数 Windows 快捷键在开发中都是以这种方式设置的,几乎消除了您想要在代码中检测它的任何原因 - 或者至少是 KeyDown 事件。也就是说,我个人希望 Alt 键可用。
【讨论】:
以上是关于键枚举 C#、AltKey的主要内容,如果未能解决你的问题,请参考以下文章