2014-12-06 45 views
1

我的项目有MDI的形式和它的有许多快捷 所有快捷方式,做工精细的菜单,而它的焦点,但是当我打开任何形式的所有快捷方式停止,因为MDI工作形成不活跃 我怎么能发送键盘按MDI窗体触发菜单快捷方式MDI菜单快捷键不能正常工作,而其他形式的有效

这个我怎么打开的子窗口

FrmChild.Owner = Me 
FrmChild.Show() 

我做按键,按键事件的静态,公共和,但他们在按键,键入在孩子形式它的工作,我发送键盘输入吨o MDI表单,但菜单快捷键从不触发。

frmMDI

Public Shared Sub frmMDI_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown 

End Sub 

frmChild

Private Sub FrmChild_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown 
    frmMDI.frmMDI_KeyDown(sender, e) 
End Sub 

感谢。

+0

通常活动窗口接收键盘快捷键,让您的应用程序运行正常。最好的问候, – 2014-12-06 05:11:53

回答

0

你不需要在孩子的keydown处理到的MdiParent的keydown的处理程序调用。父母的菜单快捷方式将不会工作。它不工作的原因是因为你应该有

FrmChild.MdiParent = Me 

代替

FrmChild.Owner = Me 
+0

是的,你是对的,但我的目的这样做。因为childForms要大,并显示他们在MDI的前面是好的形式我:) – 2014-12-06 09:48:09

+0

将携手与KEYDOWN处理程序,如果你使用普通的形式,而不是的MDI家长。 – xpda 2014-12-06 16:23:53

+0

我尝试过,但它不起作用可以给我更多的信息,但方法是了解快捷方式如何触发 – 2014-12-06 18:43:31