QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如题,我有几个textbox控件里面只能输入数据,单个的控件好做,数组的就做不好,谁有经验分享一下
发表于 2010-8-28 20:22:16 | 显示全部楼层 来自: 中国江苏苏州
一般是在 ”KeyPress“事件中判断,如下代码! p! w$ _: O% c% L/ X2 S& O
private void textBox_KeyPress(object sender, KeyPressEventArgs e)0 m+ a0 [, s' ~& _& K9 w5 ^
        {8 [$ J; o5 G; I) j! B
            if (("0123456789." + (char)8).IndexOf(e.KeyChar) > -1)
4 e9 Z1 R0 l. Z. R0 A            {
4 L8 m' v4 ]" }2 N$ @- g. Q                e.Handled = false;
6 A. W: x# [& C" t0 q5 t( ?/ B1 h1 z            }1 Z  D1 I: t5 D2 r- x' }
            else9 g/ i1 x# m1 ]# H/ W1 P
            {
* N$ e6 N6 i  \3 l' z( r                e.Handled = true;
( ]( N) c( ]2 p* E& T% c8 N            }
5 D# [) y! c" B  C! N7 ^( L( s        }
 楼主| 发表于 2010-8-28 22:36:30 | 显示全部楼层 来自: 中国广东深圳
楼上那个是用什么程序语言写的,我用的是VB6.0里面没有这样的代码& ?; G- _* z+ N7 H9 @9 C
我是这样做的
% a. y( D. m# t, o* e9 e3 GPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
8 G1 Q, u* r* Y+ f    If Not IsNumeric(Text1(0).Text) Then
4 Z! K$ A; h! {4 ?5 v        MsgBox "输入数值", , "信息提示"0 ]8 Q: z) D6 M9 w
        Text1(0).Text = ""5 W4 q% v* K% S4 P1 T% \
    End If: Y' ?/ l/ m+ |  \" B2 k# J1 g2 ]
End Sub: g- X: W4 _' c' `
不过还是不能同时限定控件数组
发表于 2010-8-28 23:16:48 | 显示全部楼层 来自: 中国浙江杭州
在控件数组的循环中再加入判断不就行了吗?
 楼主| 发表于 2010-8-29 11:01:19 | 显示全部楼层 来自: 中国广东深圳
谢谢上面的两位
, n$ z+ {$ Z( j& G$ Y% F7 V9 A以实现了我的想法,现把代码贴出来,大家看看有没什么BUG
5 ~: t2 l3 g4 V; _Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
9 V; A$ v3 U+ t; x4 C) C# u  Select Case KeyAscii
* N% a- {1 }# |" U: w        Case 46 To 57
" I: K( A' @3 h  F# z* }9 [: K$ J           Exit Sub) ?% ^. g5 X6 _. r
        Case Else( n1 \) I& u3 v8 J
           KeyAscii = 0. m% I: ~7 P! _/ ?6 p0 p
           MsgBox "请输入数值", , "提示信息"
8 d1 ]% K2 y6 P9 ?. c* @' ^   End Select4 D! F8 V4 e3 u, ^2 \4 A: d- h. l
End Sub( F$ x7 g! V2 `% H; @
这样在控件数组里可以用了
 楼主| 发表于 2010-8-29 11:26:22 | 显示全部楼层 来自: 中国广东深圳
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
. B- P) `. |9 {! E! B( y( Z  Select Case KeyAscii4 o0 T4 T* y8 J* V$ q
        Case 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57+ O, Y0 ^2 d- U0 I9 N) O
           Exit Sub
; q) C6 y2 |; {* H        Case Else
8 Z& p- `- v# O; J1 |- W( y! F           KeyAscii = 0
) }; L5 X  ]$ {" U: u           MsgBox "请输入数值", , "提示信息"
" ~4 ^! k7 J& W" T& E   End Select
8 a' D) s7 T4 X0 h; c: P$ }7 B6 QEnd Sub% d' j( X- L& v6 c; Z
- z9 x" F; t5 k" H) p) _
- W- Y+ j* G, h: J9 S- O
这样写才是对的,上面47是/在键盘上.的旁边,还是容易按错。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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