Keys.Shift和Keys.ShiftKey之间的区别

Bri*_*ker 24 .net c# key modifiers

在我的应用程序中,我检测到按下某个键的时间,看看修饰符是Shift键还是Keys枚举器有Shift和ShiftKey.

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

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

感谢您的任何意见.

Bal*_*a R 22

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

  • @布赖恩@Ryan如果你看看[`KeyEventArgs`(http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.aspx),你会使用`Keys.Shift`检查`KeyEventArgs.Modifiers`,同时使用`Keys.ShiftKey`来检查`KeyEventArgd.KeyCode`.查看MSDN中的示例. (4认同)

bra*_*enb 7

Keys.ShiftKey指的是实际的换档键,同时Keys.Shift指的是换档修改本身.Keys.ShiftKey可以像其他键代码一样用来检查按键,但是你不能检查是否Keys.Shift按下了它,因为它代表的是状态而不是对象.我希望这是有道理的.

看这里:

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