10

我试图抓住 F5,System.Windows.Forms因为我写道:

partial class MainForm
{
   (...)
   this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
   (...)
}

public partial class MainForm : Form
{
    (...)

    private void MainForm_KeyUp(object sender, KeyEventArgs e)
    {
        Log("MainForm_KeyUp");
        if (e.KeyCode == Keys.F5)
        {
            RefreshStuff();
        }
    }
}

但我的事件捕捉看起来不起作用。

你知道如何捕捉 EventKeySystem.Windows.Forms吗?

4

1 回答 1

15

Form的KeyPreview属性必须设置为 true。

当此属性设置为 true 时,表单将接收所有 KeyPress、KeyDown 和 KeyUp 事件。在窗体的事件处理程序完成对击键的处理之后,击键被分配给具有焦点的控件。

于 2013-09-04T03:11:27.420 回答