QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码
( W2 b  g0 B" V" d, _* r( g; ~: eprivate void textBox_KeyPress(object sender, KeyPressEventArgs e)
6 A4 Q, I) o2 y        {. b# m5 `: A) K# b1 v1 O7 Y
            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
" ^  i  u. W- q) Z6 F            {
0 ~% I$ C( b9 G) \& s, l! f                e.Handled = false;4 K, h+ T5 I$ f
            }
% e) ]% B# p" f3 M  t6 [. v            else
2 b5 B9 e/ Q) w! V, S+ m9 {            {
& S7 e8 y; q3 I5 {                e.Handled = true;3 r1 G) w. ?$ w# H
            }
, I) p) |9 k+ Q# j        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码
& k' B$ @/ ^9 b. x我是这样做的
2 Z8 `# U3 k" j. |( l: APrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)( _6 m3 K' M/ L: v4 W; A
    If Not IsNumeric(Text1(0).Text) Then
7 a6 K8 d. ~+ ?  {        MsgBox "输入数值", , "信息提示"8 p5 W5 [# J6 f( c: G; V/ l
        Text1(0).Text = ""/ b; h: T& H3 B4 G* x& O0 P
    End If" @/ M/ e$ b! @# B7 p8 `2 B
End Sub
. c* z- J2 d3 @1 V不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位
6 ^/ O* k) t/ l" H+ G以实现了我的想法,现把代码贴出来,大家看看有没什么BUG* A5 f# O/ s# s: G
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
1 O8 X2 `! U! S, m1 `  Select Case KeyAscii
3 N4 A. t" N/ ], h+ ^* i        Case 46 To 57$ |2 _# E" [% m; E( b! W" o
           Exit Sub
4 H( B+ x" o- [. H, Q  }& j( k        Case Else
9 K8 b. l) O  p           KeyAscii = 09 |& j" e. y6 B& M' }4 P6 @
           MsgBox "请输入数值", , "提示信息"
9 K$ D) P: T7 @: m% V   End Select
  Y" R8 x' D. n8 W; R$ x' kEnd Sub
' L( F& P! s/ t) `+ |: s这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
7 Q- M" N5 A+ L  Select Case KeyAscii
/ O' S( Y$ F+ o        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
* N: X! x! L/ |5 r' O           Exit Sub
! E1 K3 I3 A6 g; I8 e        Case Else- k1 a2 }! R, G7 @3 K* \
           KeyAscii = 0" d6 K. ^2 y1 p' }/ g, N; k
           MsgBox "请输入数值", , "提示信息"
7 h- h- }2 v/ n& q! s6 x   End Select
' `% c% |3 h* {1 h& V* B. ZEnd Sub
: S, S* \/ ]$ t2 N; X4 G& l& o1 H* f! h

9 X6 z; M  i, C8 n3 x8 F+ f+ Z7 `这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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