Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅在MDI应用程序c的活动子级中启用KeyDown事件#_C#_Events_Keypress_Mdi - Fatal编程技术网

C# 仅在MDI应用程序c的活动子级中启用KeyDown事件#

C# 仅在MDI应用程序c的活动子级中启用KeyDown事件#,c#,events,keypress,mdi,C#,Events,Keypress,Mdi,我有一个MDI应用程序,其mainForm和childForm的KeyPreview设置为TRUE。现在,在我的子窗体中,当我按下一个键时,程序启动两种形式的事件键。当子窗体处于活动状态时,是否可以禁用主窗体中的事件 我想要的是:当子窗体处于活动状态时,只应触发窗体中的事件 向你问好,Stefano你可以加上 if(ActiveMdiChild != null) return; 到父窗口的事件处理程序的开头…答案应该如下 private void mdifrm_MdiChildAc

我有一个MDI应用程序,其mainForm和childForm的KeyPreview设置为TRUE。现在,在我的子窗体中,当我按下一个键时,程序启动两种形式的事件键。当子窗体处于活动状态时,是否可以禁用主窗体中的事件

我想要的是:当子窗体处于活动状态时,只应触发窗体中的事件

向你问好,Stefano你可以加上

if(ActiveMdiChild != null)
  return;

到父窗口的事件处理程序的开头…

答案应该如下

    private void mdifrm_MdiChildActivate(object sender, EventArgs e)
    {
        if (ActiveMdiChild != null)
            // if there's a form keyPreview set to False
            KeyPreview = false; 
        else
            // else set to True
            KeyPreview = true;

    }