您的位置:首页 > 编程语言 > VB

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

2012-02-04 20:51 295 查看
当在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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  textbox vb integer
相关文章推荐