1

用户控制中的代码(Windows 用户控制)。

我有一个按钮,当单击该按钮时,会触发一些逻辑。

下面是按钮事件。

 private void btnCancel_Click(object sender, EventArgs e)
 {
     // Some Logic
 }

我有主窗体(Windows 窗体)

我在我的主 Winform 的面板中添加了上述用户控件。
从这里我想btnCancel_Click使用一些功能键(F3,F4)来调用用户控制事件。

这对我来说是一件非常新鲜的事情。请在这方面帮助我。

谢谢 。克里希纳

4

2 回答 2

0

将您的父表单KeyPreview属性设置为 true ,然后在KeyDown您的父表单的情况下,查找if(e.KeyCode == Keys.F3),然后为您的用户控件编写一个公共方法,该方法会触发btnCancel_Click. 您可以从父表单访问它。

父表格:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.F3)
    {
        MyUserControl.FireButtonEvent();
    }
}

用户控制:

public void FireButtonEvent()
{
  this.btnCancel_Click(null, EventArgs.Empty);
}
于 2013-02-02T13:58:01.957 回答
0

创建一个KeyEvent方法。例如:

private void KeyDown(Object sender, KeyEventArgs e)
{
    string sKey = e.KeyValue.ToString();
    if (sKey==112) {//SomeCode;} // F1
}

在设计器代码中,将方法链接到主窗体上的按键事件:

this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.KeyDown);

在网上查找要激活它的按钮的键值,F1 到 F24 是值 112 到 135。

于 2013-02-02T14:03:56.420 回答