朋友无法确定如何将“Ctrl + +”指定为ToolStripMenuItem
的快捷键。我指出Keys.OemPlus
键可以工作,并且需要设置快捷方式的显示字符串,但Keys
枚举使我神秘。
这些“OEM”钥匙的处理方式是什么?我做了一点搜索,似乎是因为密钥只在Win2k或更高版本中得到支持,但这看起来很荒谬,因为我确信人们在Win2k之前已经使用过几十年了。为什么没有“OemEquals”? Keys
枚举中是否还有其他键完全没有?
我主要是寻找这些特殊名称存在的原因的答案,但我很乐意听到有关其他问题的讨论。是否可以安全地假设因为加号位于键盘上的等号顶部,使用Keys.OemPlus
并检查Shift修饰键是否可以判断是否单击了Ctrl + =?是否有其他键被省略?
请注意,这是而不是 WPF问题,尽管System.Windows.Forms.Keys
和System.Windows.Input.Key
枚举看起来相同(尽管根据框架设计指南Key
命名不正确;))
答案 0 :(得分:28)
它们是随Windows API引入的,它们并非特定于WPF。
首先,这些是 KEY 代码,而不是字符代码:它们识别键盘上的键,而不是字符 - 例如通常在按住SHIFT键或激活CAPS LOCK的同时按A键生成'A'字符。
OEM密钥是随本地键盘而变化的键。美国键盘有支架和支架,德国键盘有变音符号。
它们被称为“OEM”,因为原始设备制造商(键盘)负责定义其功能。
答案 1 :(得分:1)