VB文本框怎样限制只能输入数字值

 我来答
xiawei123
高粉答主

2019-08-08 · 每个回答都超有意思的
知道答主
回答量:1626
采纳率:100%
帮助的人:47.7万
展开全部

1、 新建一个标准EXE程序。

2、 绘制界面,添加一个 Textbox 控件,改名为 txbNumber。


3、 编写代码。在代码窗口中,添加 txbNumber_KeyPress 事件。

4、查ASCII码表,得到0的ASCII码是48。输入以下语句:

If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0

这条语句用来判断输入的字符是否在0-9的范围,如果不在这个范围,就把这个输入的字符屏蔽掉。

5、但这么做会产生一个问题,就是使用BackSpace删除字符的时候,由于按键被屏蔽,无法删除。只要在上面的语句前在添加一条语句:If KeyAscii = 8 Then Exit Sub,意思是,如果按了BackSpace,就直接退出该过程,按键就不会被屏蔽了。

6、调试运行。按F5,在文本框中输入任意字符,可以看到只有数字能显示在文本框中。按退格键,字符也能正常删除。

7、 如果输入的数字可能是小数,那么还要添加如下代码:

If KeyAscii = 46 And Not CBool(InStr(txbNumber, ".")) Then Exit Sub

当输入小数点时,程序判断文本框中是否已有小数点(因为一个小数中不可能有多个小数点),如果没有小数点,则允许输入。

百度网友72f9d53
2019-07-22 · TA获得超过1.1万个赞
知道答主
回答量:480
采纳率:0%
帮助的人:8.3万
展开全部

1、新建一个标准EXE程序。

2、 绘制界面,添加一个 Textbox 控件,改名为 txbNumber。

3、 编写代码在代码窗口中,添加 txbNumber_KeyPress 事件。

4、输入以下语句: If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0这条语句用来判断输入的字符是否在0-9的范围,如果不在这个范围,就把这个输入的字符屏蔽掉。

5、 但这么做会产生一个问题,就是使用BackSpace删除字符的时候,由于按键被屏蔽,无法删除只要在上面的语句前在添加一条语句:If KeyAscii = 8 Then Exit Sub

6、 调试运行按F5,在文本框中输入任意字符,可以看到只有数字能显示在文本框中。按退格键,字符也能正常删除。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丁满123456
2011-08-07 · 超过22用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:32万
展开全部
(二楼那个不能输入小数点和科学计算,还有其他进制,我重新编了一个,要事先把文本框的tag属性设为"0")
Private Sub Text1_Change()
If IsNumeric(Text1.Text) Then
Text1.Tag = Text1.Text
End If
End Sub

Private Sub Text1_LostFocus()
If Text1.Text = "" Then Text1.Text = "0": Exit Sub
If Not IsNumeric(Text1.Text) Then
If MsgBox("只能输入数字!单击“是”重新编辑。", vbYesNo) = vbYes Then
Text1.SetFocus
Else
Text1.Text = Val(Text1.Tag)
End If
End If
End Sub
如需特殊的数字要求(比如只能输入整数,不能为0等,请继续追问,很愿意为你解答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxz1969
推荐于2018-02-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
添加以下事件即可。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑壹個
2011-08-07 · TA获得超过403个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:229万
展开全部
用NumericUpDown
或者MaskedTextBox设置Mask = 9999.99
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式