QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码
7 m) P8 N/ C. N; J  i8 j, F' p+ Z% K, Sprivate void textBox_KeyPress(object sender, KeyPressEventArgs e)9 f4 b9 k& c$ M1 Y5 t# W% m+ u
        {: j/ N+ A8 c! q* ]' A
            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
) E/ O3 A/ @. j* Z/ Q( w            {
4 j( F0 w+ {5 N. Q* E' [                e.Handled = false;, X5 V. B( v6 a, G! E0 c1 D3 n
            }( B( N$ \) m2 m& j5 U  R
            else; n( B3 h5 K* f4 M; z3 Z" O
            {: K2 h" M# y  |- B' u: ~, a* ~- W
                e.Handled = true;
2 x! U( u2 I$ D            }" X- }  M: r# B: ]
        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码
9 k1 O' {5 m! ]0 ]  t/ |6 V我是这样做的2 \7 O2 }  n% @+ r( I
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
, C+ I& }  _" k6 p1 Q1 V3 p6 `    If Not IsNumeric(Text1(0).Text) Then
3 a& H, r5 m: n, E        MsgBox "输入数值", , "信息提示"
4 s6 H3 x4 Q3 a) B4 a        Text1(0).Text = ""
1 o/ p& s& K$ M$ r    End If* V$ q( z/ N, _1 k: {* N
End Sub
  |( `- I/ o$ C' Q不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位9 m% b2 u0 V8 [/ q- H! g) k9 _- _: ]
以实现了我的想法,现把代码贴出来,大家看看有没什么BUG& C9 ~: ^4 m9 \# I1 t8 a
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)/ d- w0 ]; T- x0 r9 e3 [
  Select Case KeyAscii
0 h  p3 C3 C* L# u) H        Case 46 To 57# H* X3 S/ F; w# v; l, M5 Q
           Exit Sub% I$ C) u: n7 I$ T' z5 g7 l- Q
        Case Else
  a* f. v0 s# t7 q9 l4 @           KeyAscii = 0
: {/ K1 r  l8 F) X; Y           MsgBox "请输入数值", , "提示信息"
# a4 Z3 [3 u3 w0 ]2 @* }: N! D   End Select. l# m$ D4 `1 ^7 q0 O
End Sub7 O% p3 b6 b' d) h+ Y) K, K
这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)" `8 B0 Q9 ^/ s; k
  Select Case KeyAscii: u/ X. M6 n' M# l+ A" l( P7 H
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 574 n* o  R. w& E7 B6 X, q
           Exit Sub
9 `4 E# v' G7 z        Case Else
+ L4 w/ m) C" o1 D- X5 g5 O" w           KeyAscii = 07 x/ ?! K; Q* W" M0 }& F, V* ~& p
           MsgBox "请输入数值", , "提示信息"
8 v7 G( c2 o, h% h- L   End Select
1 s$ P* {3 O) `8 g$ Y! J. c; {& QEnd Sub
  p( J6 Z! [4 o/ o7 b0 B6 V( h2 ~2 f- \4 [7 v- }+ s/ F6 I; t

; C' M$ @5 j5 _4 b+ }8 N- I这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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