我需要能够检测到shift键被保持,但我不想使用事件或全局变量来确定它.C#中是否有API可以让您询问当前按下的键而不是使用该事件?
if ((Control.ModifierKeys & Keys.Shift) != 0)
这也将是true
如果另一个修改键也下来了(例如,按Ctrl + Shift).如果要在没有任何其他修改器的情况下检查是否单独按Shift,请使用
if (Control.ModifierKeys == Keys.Shift)
请注意,true
如果另一个非修饰符向下(例如,Shift + A),即使这样也是如此.如果您想检查移位和是否仅移位被按下,你必须使用一个API调用.
如果您在继承的类Control
(例如表单)中,则可以删除Control
限定符.(static
属性在继承的类中不需要限定符)
Form.ModifierKeys
(静态属性)