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