C#Windows窗体应用程序热键-按键关闭事件不起作用
我读了很多关于为Windows窗体应用程序制作热键的问题,并尝试了很多人说它有效的代码,但对我来说,不知何故没有 代码:C#Windows窗体应用程序热键-按键关闭事件不起作用,c#,.net,winforms,hotkeys,C#,.net,Winforms,Hotkeys,我读了很多关于为Windows窗体应用程序制作热键的问题,并尝试了很多人说它有效的代码,但对我来说,不知何故没有 代码: 如果要为窗体创建全局热键管理器,使其可用于该窗体中的所有控件,则需要重写捕获所有控件的所有键的form.ProcessCmdKey()方法,不要使用仅在背景聚焦时有效且仅在ActiveControl为null时发生的表单键关闭事件: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
如果要为窗体创建全局热键管理器,使其可用于该窗体中的所有控件,则需要重写捕获所有控件的所有键的
form.ProcessCmdKey()
方法,不要使用仅在背景聚焦时有效且仅在ActiveControl
为null
时发生的表单键关闭事件:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch ( keyData )
{
case Keys.Control | Keys.S:
timer1.Stop();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
因此,您可以捕获所需的任意组合键,并在处理后返回true
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch ( keyData )
{
case Keys.Control | Keys.S:
timer1.Stop();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}