检查文本框输入是否为数字

Mat*_*att 1 vb.net validation text numeric

我已经对此做了一些研究,仍然无法使我的程序工作.我只需要检查文本框以查看用户输入是否是数值("."和"/"除外)

我的代码到目前为止,

 Private Sub Num1_KeyPress(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Num1.KeyPress
    Dim UserEntry As Boolean
    If UserEntry = IsNumeric(False) Then
        MessageBox.Show("That's not numeric!")
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

Tre*_*vor 7

我建议处理TextChanged并检查整个数字而不是单个字符.

Private Sub Num1_TextChanged(sender As Object, e As TextChangedEventArgs) Handles Num1.TextChanged
        If IsInputNumeric(Num1.Text) Then
            'handle numeric input
        Else
            'handle not a number
        End If
    End Sub

    Private Function IsInputNumeric(input As String) As Boolean
        If String.IsNullOrWhiteSpace(input) Then Return False
        If IsNumeric(input) Then Return True
        Dim parts() As String = input.Split("/"c)
        If parts.Length <> 2 Then Return False
        Return IsNumeric(parts(0)) AndAlso IsNumeric(parts(1))
    End Function
Run Code Online (Sandbox Code Playgroud)