捕获Windows窗体应用程序中的组合键事件

当用户按下Shift + UP键时,我希望我的表单通过调用消息框来响应。

如何在Windows窗体中执行此操作?

处理KeyDown事件并具有以下内容:

 if (e.Modifiers == Keys.Shift && e.KeyCode == Keys.Up) { MessageBox.Show("My message"); } 

事件处理程序必须位于主窗体上,您需要将KeyPreview属性设置为true 。 这可以在属性对话框中以设计模式完成。

如果你想使用多个修饰符, KeyEventArgs也有布尔值来指示是否按下CTRL,ALT或SHIFT。

例:

 private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.Alt && e.Shift && e.KeyCode == Keys.F12) MessageBox.Show("My message"); } 

在此示例中,如果同时按下CTRL,ALT,SHIFT和F12,则会显示消息框。