QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码
1 U, O, F. \! C1 V3 M- q1 qprivate void textBox_KeyPress(object sender, KeyPressEventArgs e)4 s% U7 G  M! V
        {
0 v, j7 _4 k$ `# k% B3 \: _/ I            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)/ M# s; }/ P. Y4 j7 P9 @6 L( D& O' M
            {# N% S4 a$ \( W9 ?7 h# ?
                e.Handled = false;
" {; e3 U* a$ }0 Q5 ]; t' V            }
0 b( v1 n7 k4 t" z            else
3 X& t6 }/ Q5 L0 R( |  ?            {
* r. m& A' y, @# \0 }( r% q                e.Handled = true;
" q; v6 I$ \5 n) o            }& Y+ D' d+ g4 {6 |! _8 g7 y& L
        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码
2 o/ ?+ w% L8 |$ H6 }5 I3 b我是这样做的
+ f8 F" @, |. j6 d2 r! pPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
5 E/ w) I' ^" l) E: O( K    If Not IsNumeric(Text1(0).Text) Then
# Y. D0 G1 l, u8 g) E        MsgBox "输入数值", , "信息提示"9 D! y8 ]" q' g8 S
        Text1(0).Text = ""
' s: W, v$ z8 O; G' P+ Y    End If4 x% Y* k5 b6 x& b; n9 v3 L
End Sub) u+ o6 _% x' a) q0 o- c
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位
' Z6 Y2 D) K- b/ [以实现了我的想法,现把代码贴出来,大家看看有没什么BUG0 d+ R* I! [' H5 U  n
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)$ l3 [; u0 Z3 U6 z% t6 V
  Select Case KeyAscii
4 X: v$ Z( ?! T$ O        Case 46 To 57+ @4 x- {) O/ n, G: H) N5 S
           Exit Sub& s6 @0 Y! n7 f* \* ^
        Case Else9 G9 N) m5 w# Y
           KeyAscii = 0$ y" H7 _8 m, {1 G
           MsgBox "请输入数值", , "提示信息"9 Z8 M) N; }7 F& ?
   End Select
2 v; X! M" I( e4 c' mEnd Sub
. d# H5 a  X0 |' H这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
  v. O8 d; q  @& B  Select Case KeyAscii" ]& b! @8 _% X" r
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 575 \& a  n+ [/ ~; a; U2 @% y
           Exit Sub
6 V7 y7 L9 {: Z( N        Case Else  X8 w& l$ G7 D5 Y2 X; S
           KeyAscii = 0& S+ h( f! r; R8 h1 ~
           MsgBox "请输入数值", , "提示信息"
& f7 p# {3 Y& i6 i! D   End Select* y: ~6 Q- s  `' }, X
End Sub
# U/ L2 T/ q. h7 h6 q0 I
- x# m0 _5 M5 u' E- R, n# d, t5 C
" ], b2 c7 X- v这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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