【发布时间】:2019-06-20 16:36:54
【问题描述】:
我正在尝试设置一个文本框,允许您输入名称并按 Enter 键确认,但我不希望 Windows 在您每次按 Enter 键时都响起。在这种情况下或一起禁用声音。
我已经试过了:
Private Sub EnterMapName_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
e.Handled = True
e.SuppressKeyPress = True
Select Case e.KeyCode
Case Keys.Enter
name = MapName.Text
End Select
End Sub
【问题讨论】:
-
您可以为表单的
AcceptButton属性分配一个按钮并处理该按钮的Click事件。然后,当您在任何文本框控件上按 Enter 键时,将引发接受按钮的单击事件。 -
除了accept按钮,如果想解决你当前代码的问题,需要将
e.SuppressKeyPress = True移动到case语句中。目前您正在忽略所有按键。这意味着您的TextBox将不会收到任何密钥。 -
另外,请注意
e.SuppressKeyPress = True也将e.Handled设置为相同的值。你只需要前者。 -
只有一个案例时为什么要
Select Case?一个简单的 If 就可以解决问题。
标签: .net vb.net winforms textbox