在键盘上按下按钮时尝试启动事件。我已将Form1属性设置为将KeyPreview设置为True。但是,它还没有解雇,我看不出什么是错的。
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.A)
MessageBox.Show("A pressed");
else if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.F1)
MessageBox.Show("Combination of ALt and F1 pressed");
}
答案 0 :(得分:1)
尝试使用KeyCode:
if (e.KeyCode==Keys.A)
MessageBox.Show("A pressed");
...
另请注意,按下相应按钮时,Form1
必须具有焦点
答案 1 :(得分:0)
将表单的KeyPreview属性设置为true。
否则,子控件将首先捕获事件。
答案 2 :(得分:0)
设置活动
this.KeyDown += Form5_KeyDown;
this.KeyPreview = true;
事件
void Form5_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)
MessageBox.Show("A pressed");
else if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.F1)
MessageBox.Show("Combination of ALt and F1 pressed");
}
如果你想处理所有KeyPreview = true
,请不要忘记keydown