在vb中,如何使文本框中只允许输入数字

如题所述

vb编程中往往要限制文本框中只允许输入数字,防止获取文本框的内容时发生类型不匹配的错误。下面介绍实现限制文本框中只允许输入数字的方法。

新建一个标准EXE程序。

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

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

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

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

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

如果输入的数字可能是小数,那么还要添加如下代码: If KeyAscii = 46 And Not CBool(InStr(txbNumber, ".")) Then Exit Sub 当输入小数点时,程序判断文本框中是否已有小数点(因为一个小数中不可能有多个小数点),如果没有小数点,则允许输入。
温馨提示:答案为网友推荐,仅供参考
相似回答