处理开关块内的多个键

Handling multiple keys inside a switch block

我正在开发一个 Windows 表单应用程序,我试图在用户按下 F12 和 ctrl 键的组合时隐藏面板,但我收到错误运算符 '&&' 无法应用于'Keys' 和 'Keys' 类型的操作数。谢谢你的时间。

private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        //method to assign keys
        switch (e.KeyCode)
        {
            case Keys.Down:                   
                SendKeys.Send("{Tab}");
                e.Handled = true;
                break;

            case (Keys.Control && Keys.F12): **// error here** 
                 this.panel3.Hide();
            default:
                break;
        }
    }

如果你想 Hide()Ctrl + F12 组合,你应该检查 e.Modifiers:

...

case (Keys.F12): // On F12
  if (e.Modifiers == Keys.Control) { // On Ctrl + F12
    this.panel3.Hide();
  } 

...