Keydown事件未启动
本文关键字:启动 事件 Keydown | 更新日期: 2023-09-27 18:25:01
当按下键盘上的按钮时,尝试启动事件。我已经将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");
}
设置事件
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");
}
如果你想处理所有的keydown
,不要忘记KeyPreview = true
尝试使用KeyCode:
if (e.KeyCode==Keys.A)
MessageBox.Show("A pressed");
...
还要记住,当您按下相应的按钮
Form1
必须具有焦点将表单的KeyPreview属性设置为true。
否则,子控件将首先捕获事件。