验证文本框仅接受最多8个位置的数字

时间:2013-03-17 05:33:31

标签: vb.net visual-studio-2010

我有一个文本框,其中必须输入电话号码我想限制要在文本框中输入的数字最多8个地方怎么办?

3 个答案:

答案 0 :(得分:1)

您可以订阅KeyDown事件以查看按下了哪个键,然后只允许 Numeric & 退格键

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    TextBox1.MaxLength = 8
    AddHandler TextBox1.KeyDown, AddressOf HandleTbKeyDown


End Sub

Private Sub HandleTbKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
    If Not ((e.KeyValue >= 48 AndAlso e.KeyValue <= 57) OrElse e.KeyValue = 46) Then
        e.Handled = True
    End If
End Sub

答案 1 :(得分:0)

对于只有数字的文本框,您可以这样做: -

if(!((e.keyCode>=48&&e.keyCode<=57)||(e.keyCode==46)))

你也可以检查长度为8,如

Texbox MaxLength = 8

答案 2 :(得分:0)

使用MaskedTextBox。见link。虽然这个例子适用于C#,但它的工作方式类似。您的面具属性将为 00000000

例如

myMaskTextBox.Mask = "00000000";

您可以使用日期,货币等格式数据。还有一个方便的 BeepOnError 属性。再看一下示例结尾。