Private Sub txtMobieTel_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtMobieTel.KeyPress
Select Case e.KeyChar
Case "0" To "9"
Case " " '加入退格符
Case Else
e.Handled = True '使输入无效的语句
End Select
End Sub
Private Sub TextBox1_KeyPress(Byval sender As System.Object, Byval e As System.Windows.Forms.KeyPressEventArgs) Handles textBox1.KeyPress
If Char.IsNumber(e.KeyChar) Or e.KeyChar = Chr(Keys.Back) Then
Return
End If
e.Handled = True
End Sub
方法1:屏蔽用户除了数字键以外的输入。前提ImeMode = Disable让用户无法切换中文或其他输入法。
Private Sub TextBox1_KeyPress(Byval sender As System.Object, Byval e As System.Windows.Forms.KeyPressEventArgs) Handles textBox1.KeyPress
If Char.IsNumber(e.KeyChar) Or e.KeyChar = Chr(Keys.Back) Then '退格应该允许。
Return
End If
e.Handled = True
End Sub
方法2:在TextBox的Validing事件用正则表达式验证。
Private Sub textBox1_Validating(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) Handles textBox1.Validating
Dim numericRegex As Regex = new Regex("^\d+$")
if Not numericRegex.Match(CType(sender,TextBox).Text) Then
' Cancel the event and select the text to be corrected by the user.
e.Cancel = True
textBox1.Select(0, textBox1.Text.Length)
End If
End Sub