QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码1 f& y1 i5 n) \
private void textBox_KeyPress(object sender, KeyPressEventArgs e)' F2 {5 e- w  J# B( D& J
        {
2 s/ K/ w1 D+ c            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
- y" d" B( _! c3 z            {8 ~2 g# Z- k! z2 B1 v$ K8 `
                e.Handled = false;7 p9 M* K+ L0 q* A8 v0 b
            }1 G8 \- \1 A( W: u& J7 R0 k
            else$ g8 Y1 Z- v( X) W1 {
            {
, e9 `7 Z5 K& W& s. A6 ]                e.Handled = true;
. e! \: I: M. S' _, R            }, ?, M3 P" b( |" M) \. K, k  q: r: K* a
        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码2 \8 Y9 s8 P  X4 s5 o; L7 ^
我是这样做的! K7 e. y- U6 e. K# _& N4 h' P0 X
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
* H# A* e6 O4 _2 L5 r    If Not IsNumeric(Text1(0).Text) Then
7 |1 g4 W; L: m6 f/ F  n        MsgBox "输入数值", , "信息提示"* W% i( ~5 a) n5 t
        Text1(0).Text = "". _: B; G/ ^4 i- S! i
    End If9 G' k# b  y0 N( V
End Sub) C  ]1 S7 h2 f/ R' a" y
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位2 C  v0 j, L1 y5 \; f- V6 \: K% m2 X' b+ B# s
以实现了我的想法,现把代码贴出来,大家看看有没什么BUG
8 t& x( I1 m8 J+ ^7 {Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)8 w3 P9 F$ b8 a/ ]1 p
  Select Case KeyAscii
  |# ]6 f3 _, s  ^  a        Case 46 To 57; v  F5 `4 C4 _9 {% C! b
           Exit Sub
6 C. {9 N& N6 G5 ~  V/ z. k7 R        Case Else/ m. b( l6 P+ V" T  G
           KeyAscii = 02 x1 I) X3 T6 [
           MsgBox "请输入数值", , "提示信息"0 b2 w, F. ^% D9 Z4 V) i
   End Select
% L: i  N0 C7 GEnd Sub7 H. V, h/ h8 p: y8 k
这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
/ y+ P, X2 M: h, d' T/ ]' a  Select Case KeyAscii
' _4 h% a7 s) D; u- p6 s7 \        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 576 [; Y+ F* s4 J8 {% g6 f
           Exit Sub
3 z, R  S0 j. `2 J; I        Case Else
- x# C% [& i  i, D& U* _5 X           KeyAscii = 0+ k9 @' M- m. M
           MsgBox "请输入数值", , "提示信息"7 Q% s! M( s  {& r# q- b. t$ s4 n
   End Select& ]- e5 T0 O: R3 W6 N. {
End Sub
1 n9 L9 x0 X2 T! }$ h* {  Q% m+ ~  m! J

  n( q: c& o1 t+ Z/ A这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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