楼上说的也没错,不过
一般的时候数字都有用到小数点“。”和负号“-”的时候,所以可以这样做
把上面的程序稍微改动一下。
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 。 。
楼上几位说的都不错,但是VB里现在还没有特别完美的方法解决楼主的问题,上面的说法虽然是能限制键盘输入数字,但是不能限制粘贴数字。要想实现完善的最好还是通过API或自定义组件一些方法。
下面代码可实现文本框只能输入数字:
Option Explicit
Private Sub Form_Load()
Text1= ""
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii Asc("9") Then
KeyAscii = 0 '取消字符。
Beep '发出错误信号。
End If
End Sub
如需输入小数点,则代码如下:
Private Sub Form_Load()
Text1 = ""
End Sub
Private Sub text1_KeyPress(KeyAscii As Integer)
If KeyAscii Asc("。
") Or KeyAscii > Asc("9") And KeyAscii <> Asc("。") Or KeyAscii = Asc("/") Then
KeyAscii = 0 '取消字符。
End If
End Sub
。 。