QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码7 X( K& Z1 L4 w. N
private void textBox_KeyPress(object sender, KeyPressEventArgs e)2 A: X( @0 H: s/ Y8 V
        {& W; k/ W5 P: ]
            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
6 B, ^. M; W" r; `            {2 E( Y4 O5 X5 e. P
                e.Handled = false;
& m2 t. m; m+ Z9 Z2 ^2 ]            }
# Y2 f' p. f  M6 Q            else( e* K! J+ H9 M+ \. G* f
            {1 i& `0 T# t; G6 }
                e.Handled = true;
( F) U3 ?6 `) D, ]9 a9 H+ `2 Q            }
: Y3 d0 W" d$ ~* g, }) I        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码; p5 ]) _9 m" ]" ]  e( A$ N/ u
我是这样做的
# e& C3 Q) d  i. L8 _4 o- R/ }3 jPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
6 B0 A" j+ i, T- I: S, U: o    If Not IsNumeric(Text1(0).Text) Then6 A6 O( }: w% W3 V
        MsgBox "输入数值", , "信息提示"
2 R3 Q$ R: ?( x% S. B        Text1(0).Text = "", n, o/ D4 l5 Q$ A0 ]6 n# }6 ~
    End If
# ]8 r! c5 j5 v+ X( M$ C; [/ sEnd Sub
8 v5 ?: I. d) c2 l/ X6 {$ |2 O不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位4 b5 u/ J# t0 \9 Y* a
以实现了我的想法,现把代码贴出来,大家看看有没什么BUG% h. t1 h& a8 |" X5 _* U' a' }
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
1 J% b8 l. N5 @# K4 ~9 C" Y  Select Case KeyAscii$ Z+ {* E1 f$ n( R
        Case 46 To 57
% _; N' T3 [5 _1 ]0 q. |5 j           Exit Sub
) z- w' X- ]: c# ]) F0 D  \        Case Else
/ Y. h" H2 ^" P8 R: Y           KeyAscii = 0
" U+ c% C% n" n9 z6 _           MsgBox "请输入数值", , "提示信息"; Y7 w9 k) t* z; K
   End Select3 d5 H$ J% T2 ]' N/ B& T- L& k1 U
End Sub
7 l/ h- Y' s; q/ V0 E5 [. G这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
- D+ ]0 C- q! _: ?  Select Case KeyAscii- I3 q4 ^$ H: l
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57
( B1 B  ?% u; X: l; G7 z: u           Exit Sub6 \/ }  c3 m# [) l
        Case Else
4 y% a$ F: ^$ @; h5 U! s% @  W5 y4 n8 [5 T           KeyAscii = 0
" t* s& P/ n$ ~3 t" T, x" \0 S           MsgBox "请输入数值", , "提示信息"$ \& _$ w2 ~) G7 e
   End Select8 M/ A. P9 Y% K
End Sub. c) e  }( N( @5 S
# N9 `1 e5 |3 m3 d
. ^4 {; s) J7 c3 M5 O( d" I
这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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