我有一个必须输入电话号码的文本框 我想将在文本框中输入的数字限制为最多 8 个位置 怎么办?
问问题
3274 次
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 回答