QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码) Z9 T2 D8 [$ A+ x; O, S
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
! p$ u# e) v5 f        {! K3 H0 v& ]- `
            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
" K) E1 P9 X$ n* |$ m7 _: u            {' {) P* k/ Q+ @# @6 [! G1 Q
                e.Handled = false;
8 o7 y  k, ^! B. A# a+ O& |  V) L7 D            }% w" G0 |, N6 Y1 _* @
            else# d+ L0 o" X3 d( i- y  d# E
            {
6 r5 ^4 P$ O9 K                e.Handled = true;
3 K5 l& B; Q$ d0 I/ r9 \6 m( D- v; v            }4 y$ p  e$ m8 ]4 B0 T7 I0 f) T9 `
        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码: c0 H7 ~2 S; O; \- R- r
我是这样做的
' x7 |. b$ _5 s1 OPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
! Q* ?" G  N* K7 E4 c) _9 `: ~: S    If Not IsNumeric(Text1(0).Text) Then3 m% K* D: ^1 ]$ }
        MsgBox "输入数值", , "信息提示"
3 d; Q2 H0 O5 h- K  n6 e# T6 ~2 F        Text1(0).Text = ""
* O* \% Z  Q9 E. h) l    End If
5 t3 Z+ V# r$ O" @0 ~1 m" ^End Sub  T2 F1 z# |2 r2 W2 Z) j
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位
  t* @( r$ a  K( x: l! h以实现了我的想法,现把代码贴出来,大家看看有没什么BUG
% w" L$ e5 A( z/ e# l& [Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
* q  }, W5 n5 t0 O" I# w, Y0 s  Select Case KeyAscii9 @/ i: v" v3 d) N1 U! J! ^" D( }
        Case 46 To 57: w# \8 C; d2 U$ Y$ V3 e
           Exit Sub% F" F+ a3 _8 j6 a
        Case Else0 {6 C' H" K3 d" |$ z
           KeyAscii = 0  e) z  H  }5 i
           MsgBox "请输入数值", , "提示信息"
3 Y8 A/ p  B8 l. [2 @2 H: ~   End Select! M" J* Y8 @. @8 `+ ]$ a. N- `
End Sub- _3 Q& v, {8 u' o$ d, y$ v
这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)4 w; t* g. K6 e! F" V4 Q
  Select Case KeyAscii$ e* H( m! H, B
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57) F" Y  U9 @6 t: W
           Exit Sub6 n5 t  S' S% U% ]" y
        Case Else8 Z2 `- t7 J4 h, ?! U% I, ^
           KeyAscii = 00 K9 \6 ?- z$ g: T% M7 N' ?
           MsgBox "请输入数值", , "提示信息"8 a3 H# ?* @; ]
   End Select
2 }/ C7 B* {! Z& B' sEnd Sub) E0 y" r, w, o8 y* |6 E

- {" ~/ P5 ]4 V& A# \$ y, _
( G0 D& T, k9 u# E8 p( }这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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