C#WinForms:点击按钮后返回焦点

时间:2015-12-29 13:31:27

标签: c# winforms

我的简单WinForms应用程序由一个Form组成,它有两个重要的方法:

private void MainWindow_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Q)
    {
        qKeyPressed = true;
    }
    keyTimer.Start();
}

private void MainWindow_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Q)
    {
        qKeyPressed = false;
    }
    keyTimer.Stop();
}

在表单构造函数中,我使用button1.TabStop = false;将button1焦点设置为false,因此我的表单可以处理方法KeyUpKeyDown。我希望即使在button1点击事件之后我的表单也会被关注。我试过了:

button1.TabStop = false;
this.Focus();
private void button1_Click(object sender, EventArgs e)

但这似乎无法正常工作,点击后按钮看起来像是专注的,方法KeyUpKeyDown被禁用。我的问题怎么解决?提前致谢

1 个答案:

答案 0 :(得分:2)

在按钮点击功能中运行:

this.ActiveControl = null;

单击该按钮时,将其设置为活动控件。删除此属性可以让您专注于表单。