C# 如何调用承载在windows窗体上的特定usercontrol的快捷方式。

C# 如何调用承载在windows窗体上的特定usercontrol的快捷方式。,c#,winforms,C#,Winforms,我在windows窗体上托管了2个用户控件,每个控件都有一个带有&save和&delete快捷键的save、delete按钮。当我聚焦Usercontrol1并按下ALT+S时,它将调用usercontrol2保存按钮事件处理程序。感谢您提出的解决此问题的建议 您应该重写控件中的ProcessCmdKey()方法: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { } “如果命令键不是菜单快捷键且控件

我在windows窗体上托管了2个用户控件,每个控件都有一个带有&save和&delete快捷键的save、delete按钮。当我聚焦Usercontrol1并按下ALT+S时,它将调用usercontrol2保存按钮事件处理程序。感谢您提出的解决此问题的建议

您应该重写控件中的ProcessCmdKey()方法:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{
}
“如果命令键不是菜单快捷键且控件具有 父级,则将密钥传递给父级的ProcessCmdKey方法。“ (来源:MSDN)

或者您也可以在表单级别执行相同的操作,然后通过检查具有焦点的控件将命令路由到适当的控件。要查找聚焦控件,请参阅以下问题:

如何通过单击来聚焦用户控件?