C# 窗体中的热键在另一个窗体中

C# 窗体中的热键在另一个窗体中,c#,.net,winforms,C#,.net,Winforms,如何在另一个窗体的面板中的窗体上使用热键 示例:我有一个名为home的表单,在这个表单中,我有一个名为content的面板和一个按钮。当我按下按钮时,它在面板内容中调用一个名为Product的表单 问题是,在显示表单产品后,当我按下某个键激活表单产品时,它被称为表单主页 我如何区别键控调用的形式 调用表单的代码: FrmProduct frm = new FrmProduct { TopLevel = false, AutoScroll = true, FormBorde

如何在另一个窗体的面板中的窗体上使用热键

示例:我有一个名为home的表单,在这个表单中,我有一个名为content的面板和一个按钮。当我按下按钮时,它在面板内容中调用一个名为Product的表单

问题是,在显示表单产品后,当我按下某个键激活表单产品时,它被称为表单主页

我如何区别键控调用的形式

调用表单的代码:

FrmProduct frm = new FrmProduct
{
    TopLevel = false,
    AutoScroll = true,
    FormBorderStyle = FormBorderStyle.None,
    Dock = DockStyle.Fill
};

this.PnlContent.Controls.Clear();
this.PnlContent.Controls.Add(frm);
frm.Show();
此代码位于“从主页单击内部”按钮上


谢谢

您能把要求说清楚一点吗?假设catch的快捷键是
Ctrl+s
,那么如果主窗体有焦点该怎么办?如果产品表单有焦点,该怎么办?当按下表单主页上的ão f1时,它将调用代码tô调用上面标注的表单。我的问题是在表单主页的面板内设置表单产品的热键。来自表单产品的事件keydown不仅仅从表单主页触发。我可以用另一种方式使用热键吗?我还不清楚。无论如何,覆盖顶级窗口的
ProcessCmdKey
通常是处理快捷键的方法。Reza Aghaei我是如何做到这一点的?如果热键在按键事件中不存在于顶层表单中,我不能在顶层表单的面板内调用表单的活动按键。对不起,我不清楚该要求。您能更清楚地说明该要求吗?假设catch的快捷键是
Ctrl+s
,那么如果主窗体有焦点该怎么办?如果产品表单有焦点,该怎么办?当按下表单主页上的ão f1时,它将调用代码tô调用上面标注的表单。我的问题是在表单主页的面板内设置表单产品的热键。来自表单产品的事件keydown不仅仅从表单主页触发。我可以用另一种方式使用热键吗?我还不清楚。无论如何,覆盖顶级窗口的
ProcessCmdKey
通常是处理快捷键的方法。Reza Aghaei我是如何做到这一点的?如果热键在按键事件中不存在于顶层表单中,我无法在顶层表单面板内调用表单的活动按键。对不起,我不清楚要求。