使用Visual Studio 2012
为项目添加了一个MDI表单,它创建了一堆默认菜单项,然后为File / Open菜单项添加了以下代码:
Public Class MDIParent1
Private Sub OpenFile(ByVal sender As Object, ByVal e As EventArgs) Handles OpenToolStripMenuItem.Click, OpenToolStripButton.Click
Dim frm As New Form1
With frm
.MdiParent = Me
.Show()
End With
End Sub
End Class
在另一种形式Form1中,设置KeyPreview = True并输入以下代码:
Public Class Form1
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
If e.KeyCode = Keys.Enter Then
MsgBox("enter pressed")
End If
End Sub
End Class
现在,如果您启动MDI表单并单击“文件”菜单(或ALT + F),然后使用箭头键向下滚动以打开并按键盘上的Enter键,它将启动Form1但触发KeyUp()。在我的实际应用程序中,这最终会向Form1启动另一个子窗体,我需要从MDI菜单启动中禁止Enter键,但无法弄清楚如何执行此操作。
答案 0 :(得分:0)
处理KeyPress
或而不是KeyDown
KeyUp
。