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");
}

Keydown事件未启动

设置事件

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。

否则,子控件将首先捕获事件。