我有一个MDI应用程序,它带有一个keyFocus和一个childForm,并将KeyPreview设置为TRUE。现在在我的childForm中,当我按下一个键时,程序将以这两种形式启动事件KeyPressed。当childForm处于活动状态时,我可以在mainForm中禁用事件吗?仅在MDI应用程序的活动子项中启用KeyDown事件c#
我要的是泰德:当childForm是活动的,应触发仅在表单中的事件......
最好的问候,斯特凡
我有一个MDI应用程序,它带有一个keyFocus和一个childForm,并将KeyPreview设置为TRUE。现在在我的childForm中,当我按下一个键时,程序将以这两种形式启动事件KeyPressed。当childForm处于活动状态时,我可以在mainForm中禁用事件吗?仅在MDI应用程序的活动子项中启用KeyDown事件c#
我要的是泰德:当childForm是活动的,应触发仅在表单中的事件......
最好的问候,斯特凡
你可以只添加
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;
}