检测控制偏移和W

rik*_*rik 3 c# keypress

我可以检测控制和使用

 if (Keys.W == (Keys)vkCode &&
     Keys.Control == Control.ModifierKeys)
Run Code Online (Sandbox Code Playgroud)

但是,在添加时它似乎没有正确检测到的情况

 if (Keys.W == (Keys)vkCode &&
     Keys.Control == Control.ModifierKeys &&
     Keys.Shift= Control.ModifierKeys)
Run Code Online (Sandbox Code Playgroud)

是否有任何特别需要做的事情来检查3个按键被反对2?

Bol*_*ock 7

该ModifierKeys属性是一个位掩码,因此您需要对Control和Shift值进行按位OR运算.

 if (Keys.W == (Keys)vkCode &&
     (Keys.Control | Keys.Shift) == Control.ModifierKeys)
Run Code Online (Sandbox Code Playgroud)