回 帖 发 新 帖 刷新版面

主题:在VB里怎么定义在文本里只能输入数字

在VB里怎么定义在文本里只能输入数字

回复列表 (共20个回复)

11 楼

[quote]顺便在这里我也问个问题:
对于textbox.maxlenth属性,设置后当先输入汉字再输入字母的时候不能限制其长度
以前用windows98编程没遇到过这个问题,用xp 出现的,只能另写代码修改之,但不知其原因???请高手帮忙解释[/quote]

tanchuhan,帮个忙撒!

12 楼

楼上 我这测试没问题~` maxlenth是按字符不是字节~`

13 楼

[quote][quote]顺便在这里我也问个问题:
对于textbox.maxlenth属性,设置后当先输入汉字再输入字母的时候不能限制其长度
以前用windows98编程没遇到过这个问题,用xp 出现的,只能另写代码修改之,但不知其原因???请高手帮忙解释[/quote]

tanchuhan,帮个忙撒![/quote]
我的没问题哦,例如MaxLength设为3,输入“当ab”就满了
是不是你VB的版本有问题,我用的是精简版,你的是什么版本?
最好用带SP6的版本

14 楼

比如设置了maxlenth=3,当输入第4个后(无论是否编译)pc喇叭就会发音,但仍然可以继续输入
难道我的系统有问题,等我这周回去再看看

15 楼

是你VB的版本问题吧,像以前有人的VB没带SP6,Readonly属性无效的。

16 楼

我的vb一直就没带sp6,就一张碟子,都用好多年了,只是系统换了下,其他什么都没变
textbox输入超长的时候会发音,肯定是检测到了的,但就是不能限制,怪事
还有哈,它是在输入汉字,然后输入英文时才出现这种情况,单纯汉字或者英文是可以限制长度的
有可能这是vb的bug,我以前没发现而已。

17 楼

但是不能输入小数点了

18 楼

[quote]'呵呵 为了这个加两个API好像不怎么划算~`
Private Sub Text1_Change()
  If IsNumeric(Text1.Text) = False Then Text1.Text = ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
   If Not (KeyAscii >= Asc(0) And KeyAscii <= Asc(9) Or KeyAscii = 8) Then KeyAscii = 0
End Sub[/quote]
不能输入小数点了

19 楼

实际上一般的做法是,在输入的时候不管。输入完毕,点确定,再检测判断,十分简单。

20 楼

Private Sub Command1_CLick()
 If IsNumeric(Text1)=True then
  Msgbox "输入的是数字!"
else
msgbox "输入的不是数字!"
End If
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册