在WinForm C#上捕获KeyUp事件

时间:2013-09-04 02:49:27

标签: c# winforms events controls

我尝试在System.Windows.Forms上抓住F5,因为我写道:

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

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

你知道如何在System.Windows.Forms上对事件进行cactch吗?

1 个答案:

答案 0 :(得分:10)

表单的keypreview property必须设置为true

  

当此属性设置为true时,表单将接收所有KeyPress,   KeyDown和KeyUp事件。表单的事件处理程序有   完成按键操作后,按键分配到   控制焦点。