QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码# o) J  ]* s: y2 R$ e  l8 O
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
# L% S6 x$ d5 O3 j& w, d8 |        {, S9 F2 R( l# o" ^5 C
            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1), e/ X' R$ T- a: X; K
            {# K- v; c% |6 x8 X- }
                e.Handled = false;8 R+ m, V, o8 R1 F0 H
            }
  A( z4 N. q; V1 l1 w% n' D            else9 G* W! i% F0 T" h  u- P' a
            {6 G' Z! u+ }, f8 _. y8 u
                e.Handled = true;# m/ z, @, {% Q
            }
0 X# x3 a6 W. [, o9 |9 v9 `# ]        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码
8 B* M& H6 ]! l我是这样做的7 y7 z- e0 y# s: [
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
$ q- y: r$ y: X* J. A) ?    If Not IsNumeric(Text1(0).Text) Then
+ K2 t8 k0 {' L9 C& T        MsgBox "输入数值", , "信息提示"* M# W* G. g( s4 @
        Text1(0).Text = ""4 m/ _$ c, z( P
    End If- R4 {5 U+ S6 j
End Sub, a  |7 U' D3 C5 c9 ?$ n5 K4 ?
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位8 _4 V9 s5 X7 Z( t
以实现了我的想法,现把代码贴出来,大家看看有没什么BUG8 s# P, `& v9 a, W1 _9 {
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
" c! Y* d% Z' O# b2 ~1 m  Select Case KeyAscii8 R# V& j0 Z: K1 O( C/ x! J& c; l" w
        Case 46 To 57
# D+ c) ]; m/ |) a7 k           Exit Sub
, ~2 v  z* I# t* q* E' H- i- X        Case Else
8 X+ ]' c, O8 Y$ `1 e1 Y  u* _           KeyAscii = 08 p. @7 m8 a4 x& d1 s
           MsgBox "请输入数值", , "提示信息": v: l" V- p) u) S
   End Select' f5 E  [% k. q& n$ [  M  r4 w( y
End Sub9 J2 U  w0 O- G9 H, D/ R
这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)( Y2 n. C, S- J7 r2 U0 n" `  k: z
  Select Case KeyAscii$ g9 B! v4 ], ~( n  t+ D' A% l
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
' `: s% A5 P8 ^& N' f: B           Exit Sub
8 d% w  x8 M* d4 f; E; g& h        Case Else
+ [, ~! W7 M/ i  N           KeyAscii = 0: S  E. q! u, z5 ^
           MsgBox "请输入数值", , "提示信息"$ `: ~( R/ n/ P0 F' j. W% o
   End Select
6 V# O7 }  O" E) O; R3 L" n& qEnd Sub2 r; @% _4 W/ _
8 E- ^8 m) ?7 x1 `" Y) _0 ]

2 h5 f# M, N- ^1 x1 G- e% w. m$ D这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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