当用户按下 Shift + UP 键时,我希望我的表单通过调出消息框来响应。
如何在Windows窗体中执行此操作?
答案 0 :(得分:18)
处理KeyDown
事件并执行以下操作:
if (e.Modifiers == Keys.Shift && e.KeyCode == Keys.Up)
{
MessageBox.Show("My message");
}
事件处理程序必须位于主窗体上,您需要将KeyPreview
属性设置为true
。这可以在属性对话框中以设计模式完成。
答案 1 :(得分:4)
如果你想使用多个修饰符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,则会显示消息框。
答案 2 :(得分:0)
要处理多个修饰键(在KeyDown事件中)
if (e.Control && e.Shift)
{
if (e.KeyCode == Keys.F1)
{
// Your code goes here
}
}