我只想在用户点击“输入”键时发出警告。
我在keyup事件中尝试了这个,
If e.KeyCode = Keys.Enter Then
MsgBox("msg")
End If
它没有用,是不是错了?
答案 0 :(得分:3)
Enter键在UI设计中严格定义使用,它执行对话框的“接受”操作。在设计器中,选择表单并将AcceptButton设置为您的按钮。无需代码。
请注意,CancelButton具有类似的用法,它与Escape键硬连接。
答案 1 :(得分:1)
不是一个完整的答案,但它可能有所帮助。如果另一个textBox处于活动状态,您可以通过退出sub来阻止提交主表单:
Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
' do not submit anything in case that something else is active
If txtItemPrompt.Focused() Then
Exit Sub
End If
' rest of the code
End Sub
答案 2 :(得分:0)
这实际上取决于您申请的背景。 KeyUp事件仅触发特定控件,并冒泡到它的父控件。但是,如果未在控件上设置焦点,则表示事件将不会触发。
答案 3 :(得分:0)
只需要确保将代码放在Handles Me.KeyDown
的子代码中Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Enter Then
MsgBox("Enter Pressed")
End If
End Sub
答案 4 :(得分:0)
如果要在表单级别查看回车键,则需要将表单的keypreview属性设置为true。否则它被任何具有焦点的控件所消耗。