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

如题所述

第1个回答  2022-11-16

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

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

相似回答