25

在我的应用程序中,我检测何时按下某个键并查看修饰符是否为 shift 键,但 Keys 枚举器具有 Shift 和 ShiftKey。

似乎事件总是发送 Keys.Shift,但是否存在使用 Keys.ShiftKey 的情况?

(同样的问题适用于 Keys.Control 和 Keys.ControlKey)

感谢您的任何意见。

4

2 回答 2

23

Keys.Shift是修饰键(用于组合键),而与枚举Keys.ShiftKey中的大多数其他键一样,是常规键代码。Keys

于 2011-06-22T21:49:51.763 回答
8

Keys.ShiftKey指的是实际的 shift 键,而Keys.Shift指的是 shift 修改本身。Keys.ShiftKey可以像其他键代码一样用于检查是否按下,但您无法检查是否Keys.Shift按下了,因为它代表状态而不是对象。我希望这是有道理的。

看这里:

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx

于 2011-06-22T21:54:38.887 回答