我有一个表单,要求用户按下 Q 键3次。当他这样做时,表格将消失(这就是为什么我使用无边框形式来防止击中X-Button
)。表单本身不是模态的。
这是我用来处理KeyDown
事件的代码:
private void ConfirmForm_KeyDown_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Q)
{
if (++count == 3)
this.Close();
}
}
现在我不想在任务栏中为此表单添加额外的项目,因此我将ShowInTaskbar
属性设置为false
。问题是,当任务栏中没有显示表单时,KeyDown
事件不再被触发 - 当它完成时,everthing工作正常。
有谁知道如何解决这个错误?
答案 0 :(得分:11)
表单的KeyPreview属性必须设置为True,以便表单在表单上有其他可以获得焦点的控件时接收键事件。
编辑另外,如果您想阻止点击X按钮,可以将ControlBox设置为False,这会隐藏标题栏按钮。