只接受文本框的数字

Vol*_*ort 7 vb.net textbox digits

我发现这个代码使我的文本框只接受数字.

Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    Dim allowedChars As String = "0123456789"
    If allowedChars.IndexOf(e.KeyChar) = -1 Then
        ' Invalid Character
        e.Handled = True
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

但是......用户无法使用退格按钮删除数字.那我该怎么办?

小智 9

 Private Sub txtValue_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles                 txtValue.KeyPress
        'Dim allowedChars As String = "0123456789"
        'If allowedChars.IndexOf(e.KeyChar) = -1 Then
        '    ' Invalid Character
        '    e.Handled = True
        'End If
        'If (e.KeyChar = Microsoft.VisualBasic.Chr(8)) Then
        '    e.Handled = True
        'End If
        If Char.IsDigit(e.KeyChar) = False And Char.IsControl(e.KeyChar) = False Then
            e.Handled = True
        End If
    End Sub                                
Run Code Online (Sandbox Code Playgroud)


Joe*_*orn 7

您还需要处理粘贴的文本(可能没有按键).执行此操作的最佳方法是使用MaskedTextBox.