QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码
4 b: l% k3 A# p+ Iprivate void textBox_KeyPress(object sender, KeyPressEventArgs e)- E# D  v0 ?( Y2 m2 z8 k  S
        {
. E3 X; }# K3 h, i4 n' |+ i3 M            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
" P  I; S( c- E2 ^            {
9 m  G, B2 a6 M% L% ~                e.Handled = false;
4 \2 W3 s* P3 Z7 u            }7 M: c! x; D0 p! Y0 }" @/ f& w0 E
            else
. Y, o3 [$ z, g7 o- b            {
7 l0 v& f- R! @/ _' I/ t+ Q                e.Handled = true;
. L/ J8 `5 g( A! G. l            }
- W, I  ^3 h. l) k0 h5 D9 L        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码7 b, g$ }4 |* k$ `, I
我是这样做的
' o$ F# y: ^4 jPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)* X$ j! e" @5 C4 U
    If Not IsNumeric(Text1(0).Text) Then
' m% h' _3 `: ]! @        MsgBox "输入数值", , "信息提示"
. U0 T3 q, k: K, Z" X        Text1(0).Text = ""
& Z0 V2 S% i4 f. m  r0 {4 e    End If4 Z; R2 w* r5 A
End Sub& N3 ?; y& y: W. k2 ^3 d
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位
$ I8 X7 c; H8 ^以实现了我的想法,现把代码贴出来,大家看看有没什么BUG
# w) H6 N4 Z2 G, N7 @Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer). A  Y! W$ H7 f$ _" G9 q
  Select Case KeyAscii  O( P3 U! m7 J( A: S6 [; X% S
        Case 46 To 576 x" a; T; [  ~4 a7 t1 ?  A
           Exit Sub
! u9 s9 d# ^; C3 N( Y        Case Else
+ v+ b9 S+ t& t1 l           KeyAscii = 09 G1 K+ I+ d* j6 V# @
           MsgBox "请输入数值", , "提示信息"% q; @- O. k5 ?
   End Select
) J& O$ S$ h( [2 c9 @End Sub7 \: c( `4 I2 i, H
这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)/ b8 ]- Y4 j& ~' h+ r2 [
  Select Case KeyAscii
9 F4 S: j! p& {        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 577 L: S' d+ D/ f( \5 }$ {
           Exit Sub5 ]  [  q6 G( r* E
        Case Else1 T/ ?% z! f0 Z( c! J' r
           KeyAscii = 0
' a0 Q4 z1 v8 V$ A0 f           MsgBox "请输入数值", , "提示信息"& Z% j) k( m! ?" V. i3 _
   End Select- X  K! T) ]( s- k; W; N2 ]# Z  I
End Sub$ ]% Q- ~& K# k9 r
) |8 B& L9 ?; B' ?# k# T4 q

- R" N; Q5 X& g8 ~6 O# t$ _! y2 @这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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