I'm using the following .NET 4.5.2 code:
if (this.ContainsFocus && keyData == (Keys.Tab|Keys.Shift))
{ ... }
Why is the expression true when ContainsFocus (bool = true) and keyData (System.Windows.Forms.Keys) is Keys.O | Keys.Shift?
As you can see the breakpoint is hit:
with this values:
A workaround for this bug (?!) is:
if (this.ContainsFocus && (int)keyData == (int)(Keys.Tab|Keys.Shift))
{ ... }