⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vb.txt

📁 对学习VB很有帮助 fskdljfl kasdjfkl asdjfk lajsd f
💻 TXT
📖 第 1 页 / 共 2 页
字号:
Top
 

1 楼pyf1027(我为峰)回复于 2004-04-23 07:38:38 得分 20Private   Sub   text1_KeyPress(KeyAscii   As   Integer)   
          If   KeyAscii   <>   vbKeyBack   And   KeyAscii   <   48   Or   KeyAscii   >   57   And   KeyAscii   <>   13   Then   
                    KeyAscii   =   0   
          End   If   
  End   Sub   
    
  Private   Sub   text1_LostFocus()   
          if   trim(text1.text)<>""   then     
                  if   len(trim(text1.text))<6   then   
                          msgbox"我的号码必须大于5位数!",48,"提示"   
                          text1.setfocus   
                  end   if   
          end   if   
  End   Sub   
    
  鼠标经过标签时显示手行:(手型图标需要自己找)   
  private   sub   Form_Load()   
          label1.MousePointer=99         '自定义鼠标形状   
          label1.MouseIcon=LoadPicture("D:\手型图标.ico")   
  end   sub   
  Private   Sub   Label4_MouseMove(Button   As   Integer,   Shift   As   Integer,   X   As   Single,   Y   As   Single)   
          label1.MousePointer=99   
  End   Sub   
    
  
Top

2 楼flc(▄︻┻┳═一)回复于 2004-04-23 07:45:02 得分 0 学习
Top

3 楼wwwzzzfff(向左走)回复于 2004-04-23 09:12:29 得分 0 借版主一角,向大家请教相关问题。多谢   
    在txtbox中输入数字后。发现输入错误。想纠正。但光标去到最后。怎样才能从后向前删除?现在只能将光标移上前一个数,才能删除后一个。举例:输入     “0023”后,光标去到最后,发现“3”错误。想改“4”,想从后向前删除,但不能。只能将光标移到“2”后面,再删除“3”,非常麻烦。所以请大家指教
Top

4 楼ryuginka(一米八五的猪)回复于 2004-04-23 09:24:26 得分 0 把那个backspace(删除键盘的KEYCODE屏蔽掉啊)   
  在你的程序外面屏蔽(在KEYDOWN事件中)   
  if   keycode=46   or   keycode=8   then   
        exit   sub   
  endif   
  
Top

5 楼flyingZFX(卍 南无阿弥陀佛 卍)回复于 2004-04-23 09:54:04 得分 0 不会吧,   
    
  我的天,晕死我了,   
  
Top

6 楼ryuginka(一米八五的猪)回复于 2004-04-23 10:05:40 得分 10给楼主一段我正在项目中用的数字输入方法:   
  (你把长度自己控制一下为5位吧)   
  Private   gNumbers   As   String   
    
  Private   Sub   Form_Load()   
          gNumbers   =   "1234567890"   +   Chr(8)   +   Chr(45)   +   Chr(46)     '控制TextBox框只能输入数   
    
  End   Sub   
    
    
  Private   Sub   TxtCKS_KeyPress(KeyAscii   As   Integer)   
          If   InStr(gNumbers,   Chr(KeyAscii))   =   0   Then   KeyAscii   =   0   
          If   KeyAscii   =   46   And   InStr(TxtCKS.Text,   ".")   <>   0   Then   KeyAscii   =   0         '"."点号只能出现一次   
          If   KeyAscii   =   45   Then       '"-"号必须放在第一位,且只能出现一次   
                  If   InStr(TxtCKS.Text,   "-")   <>   0   Then   
                          KeyAscii   =   0   
                  Else   
                          TxtCKS.SelStart   =   0   
                  End   If   
          End   If   
  End   Sub
Top

7 楼wwwzzzfff(向左走)回复于 2004-04-23 15:20:09 得分 0 请大家再说清楚一点
Top

8 楼wwwzzzfff(向左走)回复于 2004-04-23 22:34:31 得分 0 本人又遇到另两个问题。1,我规定TXTNAME只能输入中文和英文,不能输入其它。怎样编?   
  2,我添加记录到SQL,只能按顺序添加,不能跳跃添加。举例:   编码   0001     姓名   张三   ,规定下一条记录是   编码   0002   姓名   李四,   不能出现一下子编码序号跳到   编码   0022     姓名   李四。敬请各位师兄指教   
    
  
Top

9 楼BlueBeer(1win)回复于 2004-04-24 00:42:44 得分 0 楼上的,你的第一个问题与楼主的问题差不多,ryuginka(ryuginka)已经教你了啊   
  他的只能输数字,你的是不能输数字,反过来不就行了,即如果用户输入的字符在你禁用的范围内,就让kayascii=0就行了
Top

10 楼BlueBeer(1win)回复于 2004-04-24 03:26:23 得分 5边看边学:)   
    
  Const   xStr   As   String   =   "0123456789"   
    
  Private   Sub   Text1_KeyPress(KeyAscii   As   Integer)   
  '只能输入数字   
  KeyAscii   =   IIf(InStr(xStr,   Chr(KeyAscii))   =   0,   0,   KeyAscii)   
  End   Sub   
    
  Private   Sub   Text2_KeyPress(KeyAscii   As   Integer)   
  '只能输入数字以外的字符   
  KeyAscii   =   IIf(InStr(xStr,   Chr(KeyAscii))   =   0,   KeyAscii,   0)   
  End   Sub
Top

11 楼Jockey()回复于 2004-04-24 08:32:49 得分 5If   IsNotChar(Types)   Then   
            If   IsInt(Types)   Then   
                  If   KeyAscii   =   8   Or   KeyAscii   >=   48   And   KeyAscii   <=   57   Then   
                  Else   
                            KeyAscii   =   0   
                  End   If   
            ElseIf   IsDbl(Types)   Then   
                          If   KeyAscii   >=   48   And   KeyAscii   <=   57   Then   
                          Else   
                                If   KeyAscii   =   8   Or   KeyAscii   =   45   Or   KeyAscii   =   46   Then   
                                Else   
                                        KeyAscii   =   0   
                                          
                                End   If   
                          End   If   
            ElseIf   IsDateTime(Types)   Then   
                          If   KeyAscii   >=   48   And   KeyAscii   <=   57   Then   
                          Else   
                                If   KeyAscii   =   8   Or   KeyAscii   =   45   Or   KeyAscii   =   58   Then   
                                Else   
                                        KeyAscii   =   0   
                                          
                                End   If   
                          End   If   
            
        End   If   
      End   If
Top

12 楼wwwzzzfff(向左走)回复于 2004-04-24 16:29:42 得分 0 InStr(xStr,   Chr(KeyAscii))   =   0,请问各位这句话是什么   意思?
Top

13 楼wwwzzzfff(向左走)回复于 2004-04-24 16:43:30 得分 0 2,我添加记录到SQL,只能按顺序添加,不能跳跃添加。举例:   编码   0001     姓名   张三   ,规定下一条记录是   编码   0002   姓名   李四,按顺序输下去,   不能出现一下子编码序号跳到   编码   0022     姓名   李四。敬请各位师兄指教   
  
Top

14 楼LuBingLin(为什么?)回复于 2004-04-24 16:47:52 得分 0 InStr(xStr,   Chr(KeyAscii))   =   0   如果你输入的值不是xStr里有的值就=0   
    
  BlueBeer(1win)   (   )   信誉:100     
  你的代码虽短,可惜浪费资源,此时你要进行二次的运算。.............   
    
  奉劝大家以后写代码不要为了精简而大大的浪费系统资源。汗.......等你们写个大系统时你就会知道系统资源是多么可贵的。:)
Top

15 楼BlueBeer(1win)回复于 2004-04-24 19:12:19 得分 0 楼上批评的对:)   
    
  我就是玩玩的,不拿这个吃饭,能写点小程序给自己用就很开心了:)
Top

16 楼yuanyuan0(元元)回复于 2004-04-24 21:54:09 得分 0 你的ID号设置的是自动增长的。当然不能跳了。你把它设置成自己输入的啊。不过要注意检测是否重复。要不想检测你就重新设置一个自动增长的主键
Top

17 楼CruelYoung123(向牛人们学习@HOHO~~~)回复于 2004-04-25 16:37:00 得分 0 Private   Sub   Text1_KeyPress(KeyAscii   As   Integer)   
          If   Not   (IsNumeric(Chr(KeyAscii))   Or   KeyAscii   =   8)   Then   KeyAscii   =   0   
  End   Sub   
  一行代码够了
Top

18 楼pigpag(Pigpag - A GRE Fighter)回复于 2004-04-25 17:19:30 得分 0 请大家注意Validate事件。   
  这个事件是VB6开始特地加上的,为的就是让你验证值是否符合要求。   
    
  Validate事件比LostFocus好,因为可以控制哪些控件出发验证事件,这样就可以让用户有机会查看一些帮助信息(否则用户无法离开该控件)
Top

19 楼wwwzzzfff(向左走)回复于 2004-04-26 09:18:53 得分 0 刚才按“元元”师兄所教,在SQL里表中设置“NUMBER”为主键,输入即不能出现重复记录。多谢!但输入重复记录时,虽没有添加,却没有提示信息。敬请各位师兄写出提示重复信息或推介其它更优方法解决问题,供我参考。多谢大家!
Top


1.文本框只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

2.只能输入数字,能输小数点.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

3.数字和小数点方法二
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">

4.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

5.只能输入英文字母和数字,不能输入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

6.只能输入数字和英文<font color="Red">chun</font>
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">

7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

 


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1517178



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -