加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vb如何设置文本框只能输入数字或日期

(2017-01-07 19:07:33)
分类: VB学习

vb如何设置文本框只能输入数字或日期

-------------------------

vb如何设置文本框只能输入数字或日期

------------------------

vb如何设置文本框只能输入数字或日期

------------------------

代码如下:
Private Sub Text5_Change(Index As Integer)
   
 '---核销日期,的长度控制change事件
   
 If Index = 1 Then          '核销日期   
       If Len(Text5(Index).Text) >= 11 Then     '3.<日期类型>不受字段字节数<8>的限制
            SendKeys "{BKSP}"
      End If
 End if
End Sub
Private Sub Text5_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
    'keydown事件------------------------------在编辑网格时,如果单据体对应的字段是<日期>类型的,则自动获取系统当前的日期-----------------------------
If Index = 1 Then         '核销日期
         If KeyCode = vbKeyF3  Then   '<按F3>快速获取系统日期
                 Text5(Index).Text =Date
                 Text5(Index).SelStart =Len(Text5(Index).Text)     '将光标移动到最后
        End If
End if
End Sub
Private Sub Text5_KeyPress(Index As Integer, KeyAscii As Integer)
   '---核销日期的格式控制,keyup事件
 If Index = 1 Then
         If KeyAscii < 48 Then '日期格式的文本框(text2)中只能输入日期格式的内容(ascii码中,小于48的都不是数字字符)
               If KeyAscii <> 45 Then    '45-----横杠或减号"-"    46-----小数点"."
                       If KeyAscii <> 13  Then      '13-----回车键
                                  If KeyAscii <> 8 Then   '8------退格键
                                           ' SendKeys "{BKSP}"    '执行backspace键的操作
                                             KeyAscii 0       '0------取消输入
                                 End If
                       End If
               End If
          ElseIf KeyAscii > 57 Then     '大于57的都不是数字字符
                    KeyAscii = 0
          End If
    End If
End Sub
Private Sub Text5_LostFocus(Index As Integer)
   '---核销日期的格式控制,keyup事件
    If Index = 1 Then   
          If IsDate(Text5(Index).Text)= False Then
                 MsgBox"您输入内容,不是日期,请重新输入",vbOKOnly vbCritical, "提醒"
                 Text5(1).SetFocus
                 Exit Sub
         End If
         If Len(Text5(Index).Text)<> 10 Then
                MsgBox "您输入的日期格式,不是标准日期格式,请重新输入" _
                & vbCrLf & "" _
                & vbCrLf & "   标准格式为: YYYY-MM-DD ",vbOKOnlyvbCritical, "提醒"
               Text5(1).SetFocus
               Exit Sub
         End If   
 End If
End Sub
------------------------
总结:
1.change事件-控制输入字符串的长度
2.keypress事件-控制键盘上,具体的按键(对应的ascii码)
   2.1用keyascii=数字(代表的具体按键)
   2.2用keyascii=0表示执行退格
3.lostfocus事件-最后一次判断字符串的数据类型
4.keydown事件-用来设置快捷键
   4.1用keycode表示具体的按键
该日志网址为: http://blog.sina.com.cn/s/blog_15b9821340102wtrc.html

 如果您有任何问题或建议或疑问,欢迎反馈和交流,您的要求就是我们的方向和动力

 更多<数据分析>模板,将陆续发布,敬请期待   

更多介绍:http://www.df-bi.com

更多数据分析模型,欢迎扫描"微信公众号"

或者查找微信公众号:"DF数据工厂"  或 "data_f"

vb如何设置文本框只能输入数字或日期

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有