主题:在VB里怎么定义在文本里只能输入数字
zhengzexiao
[专家分:0] 发布于 2008-07-27 18:46:00
在VB里怎么定义在文本里只能输入数字
回复列表 (共20个回复)
11 楼
guoyong_cy [专家分:3050] 发布于 2008-07-29 01:27:00
[quote]顺便在这里我也问个问题:
对于textbox.maxlenth属性,设置后当先输入汉字再输入字母的时候不能限制其长度
以前用windows98编程没遇到过这个问题,用xp 出现的,只能另写代码修改之,但不知其原因???请高手帮忙解释[/quote]
tanchuhan,帮个忙撒!
12 楼
snyga [专家分:1480] 发布于 2008-07-29 09:49:00
楼上 我这测试没问题~` maxlenth是按字符不是字节~`
13 楼
tanchuhan [专家分:15140] 发布于 2008-07-29 11:52:00
[quote][quote]顺便在这里我也问个问题:
对于textbox.maxlenth属性,设置后当先输入汉字再输入字母的时候不能限制其长度
以前用windows98编程没遇到过这个问题,用xp 出现的,只能另写代码修改之,但不知其原因???请高手帮忙解释[/quote]
tanchuhan,帮个忙撒![/quote]
我的没问题哦,例如MaxLength设为3,输入“当ab”就满了
是不是你VB的版本有问题,我用的是精简版,你的是什么版本?
最好用带SP6的版本
14 楼
guoyong_cy [专家分:3050] 发布于 2008-07-29 20:03:00
比如设置了maxlenth=3,当输入第4个后(无论是否编译)pc喇叭就会发音,但仍然可以继续输入
难道我的系统有问题,等我这周回去再看看
15 楼
tanchuhan [专家分:15140] 发布于 2008-07-29 20:38:00
是你VB的版本问题吧,像以前有人的VB没带SP6,Readonly属性无效的。
16 楼
guoyong_cy [专家分:3050] 发布于 2008-07-31 19:20:00
我的vb一直就没带sp6,就一张碟子,都用好多年了,只是系统换了下,其他什么都没变
textbox输入超长的时候会发音,肯定是检测到了的,但就是不能限制,怪事
还有哈,它是在输入汉字,然后输入英文时才出现这种情况,单纯汉字或者英文是可以限制长度的
有可能这是vb的bug,我以前没发现而已。
17 楼
zhengzexiao [专家分:0] 发布于 2008-08-03 22:50:00
但是不能输入小数点了
18 楼
zhengzexiao [专家分:0] 发布于 2008-08-03 22:59:00
[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 楼
老大徒伤悲 [专家分:29120] 发布于 2008-08-04 23:02:00
实际上一般的做法是,在输入的时候不管。输入完毕,点确定,再检测判断,十分简单。
20 楼
孙瑞 [专家分:590] 发布于 2008-08-12 22:40:00
Private Sub Command1_CLick()
If IsNumeric(Text1)=True then
Msgbox "输入的是数字!"
else
msgbox "输入的不是数字!"
End If
End Sub
我来回复