我的简单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
,因此我的表单可以处理方法KeyUp
和KeyDown
。我希望即使在button1
点击事件之后我的表单也会被关注。我试过了:
button1.TabStop = false;
this.Focus();
在private void button1_Click(object sender, EventArgs e)
中但这似乎无法正常工作,点击后按钮看起来像是专注的,方法KeyUp
和KeyDown
被禁用。我的问题怎么解决?提前致谢
答案 0 :(得分:2)
在按钮点击功能中运行:
this.ActiveControl = null;
单击该按钮时,将其设置为活动控件。删除此属性可以让您专注于表单。