我有一個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;
}