关于VB文本框只能输入数字的问题

2025-06-22 08:07:27
推荐回答(4个)
回答1:

加入如下代码段:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 And KeyAscii <> 8 Then
MsgBox "只能输入数字!", , "提示"
KeyAscii = 0
End If
End Sub

除了数字,小数点和退格键,其他字符输入时都会报错,msgbox为报错语句。

回答2:

在onchanged事件里面判断最后输入的那个字符就行了啊

回答3:

其实楼上的代码都不全,他们的代码能屏蔽ctrl v吗??? 有没有想过这??? 那代码网上有 自己找下吧

回答4:

Public Function Num(KeyAscii As Integer, Optional bdot As Boolean = False) As Integer
If KeyAscii >= &H30 And KeyAscii <= &H39 Then
Num = KeyAscii
Exit Function
ElseIf KeyAscii = 8 Or KeyAscii = 13 Or KeyAscii = 45 Then
Num = KeyAscii
Exit Function
ElseIf bdot And KeyAscii = 46 Then
Num = KeyAscii
Exit Function
Else
Num = 0
End If
End Function

Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Num(KeyAscii, True)
End Sub