如何才能让VB里的TEXT控件只能输入数字?
如何才能让VB里的TEXT控件只能输入数字?或只能输入英文,或不能输入数字等。。我是初学者,大家尽量说得简单点!!注明得清楚点,谢谢!!...
如何才能让VB里的TEXT控件只能输入数字?
或只能输入英文,或不能输入数字等。。
我是初学者,大家尽量说得简单点!!注明得清楚点,谢谢!! 展开
或只能输入英文,或不能输入数字等。。
我是初学者,大家尽量说得简单点!!注明得清楚点,谢谢!! 展开
3个回答
展开全部
首先添加好文本框控件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))
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))
推荐于2017-10-14 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
在文本框的更改事件中,使用IsNumeric函数进行字符类型的判断,如果出错则清空输入框,弹出提示信息,范例代码如下:
Private Sub Text1_Change()
If IsNumeric(Text1.Text) = False Then
MsgBox "只能输入数字"
Text1.Text = ""
Text1.SetFocus
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
'先声明一个常量,并把你想禁用或允许输入的内容赋值给它
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询