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

时间:2010-09-13 12:55:54

标签: c# events keypress mdi

我有一个带有mainForm的MDI应用程序和一个KeyPreview设置为TRUE的childForm。现在,当我按下一个键时,我的childForm,程序以两种形式启动事件KeyPressed。当childForm处于活动状态时,我可以在mainForm中禁用该事件吗?

我想要的是:当childForm处于活动状态时,只应触发表单中的事件......

最好的问候,斯特凡诺

2 个答案:

答案 0 :(得分:2)

你可以添加

if(ActiveMdiChild != null)
  return;

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

答案 1 :(得分:0)

答案应该是这样的

    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;

    }