CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

怎样限制vb中TEXT控件???

楼主netice_cn(网冰)2002-04-04 13:25:37 在 VB / 控件 提问

怎样限制vb中TEXT控件只能输入数字,如果输入非数字,就会跳出对话框警告“请输入数值”---  
  请高手指教 问题点数:20、回复次数:12Top

1 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2002-04-04 13:28:48 得分 1

在“KeyPress”事件中添加代吗!Top

2 楼bamboo_leo(竹子)回复于 2002-04-04 13:29:49 得分 3

可以在Text的KeyPress事件中控制。  
  Private   Sub   Text1_KeyPress(KeyAscii   As   Integer)  
      Select   Case   KeyAscii  
                  Case   48   To   57   '0-9  
                        exit   sub  
                  case   else  
                        keyascii=0  
                        msgbox   "请输入数值"  
      end   select  
  end   subTop

3 楼thorkhan(北方的河)回复于 2002-04-04 13:33:48 得分 5

我以前編的程序﹕  
  Public   Function   VailText(KeyIn   As   Integer,   ValidateString   As   String,   Editable   As   Boolean)   As   Integer  
          Dim   Validatelist           As   String  
          Dim   KeyOut                       As   Integer  
          If   Editable   =   True   Then  
              Validatelist   =   UCase(ValidateString)   &   Chr(vbKeyBack)  
          Else  
              Validatelist   =   UCase(ValidateString)  
          End   If  
          If   InStr(1,   Validatelist,   UCase(Chr(KeyIn)),   1)   >   0   Then  
              KeyOut   =   KeyIn  
          Else  
              KeyOut   =   0  
              Beep  
          End   If  
          VailText   =   KeyOut  
  End   Function  
   
  '這樣之能輸入數字  
  Private   Sub   txtMinaute_KeyPress(KeyAscii   As   Integer)  
          KeyAscii   =   VailText(KeyAscii,   "0123456789",   True)  
  End   Sub  
  Top

4 楼leonnet(里奥下的天空)回复于 2002-04-04 13:34:27 得分 0

楼上的说完了哟Top

5 楼gaoqi5037(高岐)回复于 2002-04-04 13:36:08 得分 2

这样也可以  
  Private   Sub   Text1_KeyDown(KeyCode   As   Integer,   Shift   As   Integer)  
          If   Not   IsNumeric(Chr(KeyCode))   Then  
                  KeyCode   =   0  
                  MsgBox   "请输入数值"  
          End   If  
  End   SubTop

6 楼lily0000000(heaven)回复于 2002-04-04 13:42:15 得分 1

同意thorkhan(灰滿)Top

7 楼skyant()回复于 2002-04-04 13:42:35 得分 0

Great!Top

8 楼combread()回复于 2002-04-04 13:45:34 得分 2

提醒一下,楼上的几位只能限制用户不能用键盘敲击输入数字,  
  但如果用户用"拷贝"-"粘贴"的话,就不行了.  
  所以,在采纳楼上意见的同时,还应该在  
  Change  
  事件中编程,进行限制.Top

9 楼combread()回复于 2002-04-04 13:48:03 得分 0

thorkhan(灰滿)的程序可以全部限制,不好意思.  
  ^_^Top

10 楼combread()回复于 2002-04-04 13:51:22 得分 2

使用thorkhan(灰滿)的程序,用鼠标"拷贝"-"粘贴",还是可以把非文字的内容粘贴上去.  
  看来必须还要在文本框的Change事件中编程才行.  
  :(Top

11 楼gaoqi5037(高岐)回复于 2002-04-04 14:03:28 得分 3

combread(大点)说得有道理  
  Private   Sub   Text1_Change  
          if   not   isnumeric(text1)   then  
                    msgbox   "请输入数值"                  
                    text1=""  
          end   if          
  End   Sub  
  Top

12 楼small_haozi(小耗子)回复于 2002-04-04 14:23:55 得分 1

用IsNumeric来判断即可Top

13 楼netice_cn(网冰)回复于 2002-04-04 19:13:14 得分 0

谢谢高手们的帮助,我是个初学者,还没有学到你们说的东西,不过我还是看懂了,觉得VB很好玩的,以后还得请高手多多指教.---没有想到这个论坛这么快就回复了我的问题,不错,不错的地方!     :)Top

相关问题

  • 一个初学 vb 者请教TEXT控件相关的输入数字和文本限制!大侠们急救!
  • 关于VB的TEXT控件问题!
  • vb做控件
  • vb的控件!
  • VB控件编程
  • vb与ole控件
  • vb与ole控件
  • vb与ole控件
  • vb与ole控件
  • 请问如何让vb中的Text控件可以autosize??

关键词

  • 数值
  • validatelist
  • keyascii
  • vailtext
  • validatestring
  • keyin
  • keyout
  • ucase
  • keypress
  • 请输入数值

得分解答快速导航

  • 帖主:netice_cn
  • zyl910
  • bamboo_leo
  • thorkhan
  • gaoqi5037
  • lily0000000
  • combread
  • combread
  • gaoqi5037
  • small_haozi

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo