VB6.0中,在一个TextBox里面只输入数字,不能输入其它,比如汉字,符号,英文的方法

当在text框里面输完内容以后,若该控件失去焦点时,要是框里面输入的内容不符合要求,就显示提醒。

 

参考代码:

Private Sub Text1_LostFocus()
For i = 1 To Len(Text1)
    If Not IsNumeric(Mid(Text1, i, 1)) Then
        MsgBox ("不能输入除数字外的其他字符!", 48)
        Text1.SetFocus
        Text1.SelStart = Len(Text1)
        Exit Sub
    End If
Next
End Sub
Text1_Change是在Text1变化时触发,而不是“在其他地方一点鼠”时发生,另外:
1、Text1的值一变化就MsgBox是很烦人的;
2、IsNumeric(Text1.Text)不能完全符合设置,比如你输入12,然后按左箭头将光标移动1和2中间再输入字母E或D,是不会提示的,因为VB中默认1E2之类是数值的(科学计数法,1E2=100)。
另一个方法,用KeyPress事件,限制不输入除数字外的其他字符:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If InStr("0123456789" & Chr(8) & Chr(9), Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
如果判断是否数值(而不仅仅判断是否为数字)可用Text1_LostFocus和Text1_KeyPress的组合。

只能输入汉字:
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii > 0 Then KeyAscii = 0
End Sub
在其他地方一点鼠标判断:
Private Sub Text2_LostFocus()
For i = 1 To Len(Text2)
    If Asc(Mid(Text2, i, 1)) > 0 Then
        MsgBox ("只能输入汉字及全角字符符!", 48)
        Text2.SetFocus
        Text2.SelStart = Len(Text2)
        Exit Sub
    End If
Next
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊喵之熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值