应用思考-教育技术论坛

标题: 如何才能让VB里的TEXT控件只能输入数字? [打印本页]

作者: etthink    时间: 2009-3-25 04:47
标题: 如何才能让VB里的TEXT控件只能输入数字?
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
作者: etthink    时间: 2009-3-25 04:51
楼上说的也没错,不过
一般的时候数字都有用到小数点“.”和负号“-”的时候,所以可以这样做
把上面的程序稍微改动一下。

Private Sub Form_Load()
Text1= ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
select case str(Keyascii) '多分枝用Select case 语句比较好
case "0" to "9" '如果按键在 0-9 之间 或者
case ".", "-", str(8) '按下小数点,负号,或者删除键BackScape键则不执行特殊操作
case else
KeyAscii = 0 '取消本次按键事件。
Beep '提示输入错误
End select
End Sub
作者: yuyankang    时间: 2011-9-16 15:48
说到底还不如,禁止输入字母和特殊字符,按键事件中应该有,哥哥是学习c#的!不明白!




欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4