QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3219|回复: 5
收起左侧

[已解决] 如何限定textbox数组控件中都只能输入数字或小数点

[复制链接]
发表于 2010-8-28 12:26:10 | 显示全部楼层 |阅读模式 来自: 中国广东深圳

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码: s; P! ?1 X* l7 N6 J. s% O$ M8 T
private void textBox_KeyPress(object sender, KeyPressEventArgs e): t$ u) }) D/ W! V. _  z& z* X
        {
8 m8 q3 y7 B4 j4 x  n. z            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)1 K/ P% Q/ }3 K2 W
            {
, ~% ~6 }! E) |) _7 W5 z4 S                e.Handled = false;/ {4 c; L/ \. O- T5 f3 F* r% c
            }
( O3 o. l1 N8 m2 A1 r: b            else
0 m0 L* i! b/ e- D            {
; j9 I0 w. f& p                e.Handled = true;
4 C  c4 k3 B$ Z            }
" `# ^) U# _6 m6 c( z2 n7 |        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码
: B+ l5 m; w0 T+ h, L+ C我是这样做的& E: s! |1 Y: y; A
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
5 c- O# K: h' Y* M    If Not IsNumeric(Text1(0).Text) Then: X5 V# {5 I2 y/ k8 \- l2 [+ k
        MsgBox "输入数值", , "信息提示"( q4 F0 \3 \2 k: B) ^# m
        Text1(0).Text = ""3 p6 S/ n5 ?3 ~, s
    End If$ p1 s/ B" S. m# i! C
End Sub$ {  i9 e# f5 y: q5 j+ ^9 K! }
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位
+ d5 s& w; ^+ o! m, t$ v' Q以实现了我的想法,现把代码贴出来,大家看看有没什么BUG& r6 c! f4 r9 k+ ~- E( ?, [3 e
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)1 s, O5 |4 H- h( d
  Select Case KeyAscii
, G2 |* C( V0 K  l5 _& H; H' }' h        Case 46 To 57
- l% H* _) o" H4 F1 c           Exit Sub
) V( g5 X, H2 ?# k2 ^: w        Case Else
3 u* f; L  `+ K6 Z) ?2 x; N+ h           KeyAscii = 0
$ p8 q6 x' X2 |; l           MsgBox "请输入数值", , "提示信息"5 V; e4 K2 u1 J4 K% B5 r8 x! l
   End Select
/ d3 @# K# ?& {/ K+ I5 UEnd Sub
. y$ L4 W% b+ Q这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)! Z4 Y1 R0 h2 T2 o7 E
  Select Case KeyAscii+ x: a; A) r$ p5 A6 \* ?
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
  G4 X6 j; J7 B, C! x# w7 ]. S' |           Exit Sub
" ?+ m4 u2 M" c* q7 J- G        Case Else  T2 L% z9 \0 J: U( B. X% ]
           KeyAscii = 0& A9 Y3 o% L0 H' A0 r# f
           MsgBox "请输入数值", , "提示信息"% V3 _. Q& ~3 D" K" m7 C
   End Select/ A0 @5 Z; o! ]  ?
End Sub
3 G4 r8 j4 O" b- a" D6 W. u9 i! G! B3 l" `& b% t- x

+ K" [* d8 s% h0 Y0 l; H这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表