1

我有一个必须输入电话号码的文本框 我想将在文本框中输入的数字限制为最多 8 个位置 怎么办?

4

3 回答 3

1

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

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
于 2013-03-17T05:43:02.960 回答
0

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

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

您也可以检查长度为 8 喜欢

Texbox MaxLength = 8
于 2013-03-17T05:38:54.080 回答
0

使用 MaskedTextBox。请参阅此链接。尽管该示例适用于 C#,但它的工作原理类似。您的Mask属性将为00000000

例如

myMaskTextBox.Mask = "00000000";

您可以使用它为日期、货币等格式化数据。还有一个方便的BeepOnError属性。再次参见示例末尾。

于 2013-03-17T05:46:00.263 回答