我有以下两个条件:
if (someOtherStuff && Keyboard.Modifiers == ModifierKeys.Control)
{
e.Cancel = true;
}
if (someOtherStuff && Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift))
{
e.Cancel = true;
}
我想知道是否可以将这两个if clauses
合并为一个?或者我的方式是正确的?如果他们按住Control
按钮,并且按住Control and Shift
按钮
答案 0 :(得分:3)
由于ModifierKeys
枚举标记有Flags
属性,因此您可以使用bitwise AND检查关键字组合是否包含 {{1密钥,我相信你所追求的是:
Control
答案 1 :(得分:2)
if ((someOtherStuff && Keyboard.Modifiers == ModifierKeys.Control) ||
(someOtherStuff && Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift))
{
e.Cancel = true;
}
答案 2 :(得分:1)
你可以这样做:
if (someOtherStuff && (Keyboard.Modifiers == ModifierKeys.Control ||
Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift)))
{
e.Cancel = true;
}
或者你还有其他想法吗?