如何才能让VB里的TEXT控件只能输入数字?

如何才能让VB里的TEXT控件只能输入数字?
或只能输入英文,或不能输入数字等。。
我是初学者,大家尽量说得简单点!!注明得清楚点,谢谢!!

首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。然后对文本框的KeyPress事件添加以下代码
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress
If Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化了
对于限制其他的类型,只要对 Chr()更改就行了。如只需要输入英文字母的条件是:(e.KeyChar >= Chr(65) and e.KeyChar <=Chr(90)) or(e.KeyChar >= Chr(97) and e.KeyChar <=Chr(122))
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-14

  在文本框的更改事件中,使用IsNumeric函数进行字符类型的判断,如果出错则清空输入框,弹出提示信息,范例代码如下:

Private Sub Text1_Change()
If IsNumeric(Text1.Text) = False Then
MsgBox "只能输入数字"
Text1.Text = ""
Text1.SetFocus
End If
End Sub

第2个回答  推荐于2017-09-16
Const xStr As String = "0123456789"
'先声明一个常量,并把你想禁用或允许输入的内容赋值给它

Private Sub Text1_KeyPress(KeyAscii As Integer)
'只能输入数字
KeyAscii = IIf(InStr(xStr & Chr(8), Chr(KeyAscii)), KeyAscii, 0)
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
'只能输入数字以外的字符
KeyAscii = IIf(InStr(xStr, Chr(KeyAscii)), 0, KeyAscii)
End Sub本回答被提问者采纳
相似回答