100分,100分,100分,100分,100分,100分,简单问题,关于文本框!!!!!!!!!

2002oncemore 2002-12-30 01:43:33
如何在文本框(text)中只允许输入日期型字符
如:2002/3/4
100分献上!
...全文
86 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2003-01-03
  • 打赏
  • 举报
回复
禁止非法字符输入:
private sub txtDate_keypress(byval keyascii as integer)
select case keyascii
case asc("0") to asc("9"), 8, 9, asc("/"), asc("-")
case else
keyascii=0
end select
end sub
YanJieBing 2002-12-30
  • 打赏
  • 举报
回复

比较赞成使用DTPicker
浩子 2002-12-30
  • 打赏
  • 举报
回复
Masked Edit 控件提供受限制的数据输入及格式化的数据输出。它显示提示信息,说明输入的数据或显示的数据类型。此控件看起来很象工具栏中的一个图标。

文件名
MSMASK32.OCX

类名
MaskEdBox

说明

Masked Edit 控件通常表现为一个标准文本框控件,增强了选择掩码输入和格式化输出的功能。如果没有使用输入掩码,那么,除了它的动态数据交换 (DDE) 功能,Masked Edit 控件的状态更接近于标准文本框。

如果用 Mask 属性定义输入掩码,则 Masked Edit 控件中的每一个字符位置,或者是指定类型的占位符,或者是原义字符。原义字符或 literals 可以指出所用数据的类型。例如,电话号码的区号两边的圆括号就是原义字符:(206)。

如果输入的字符与输入掩码冲突,控件将产生 ValidationError 事件。输入掩码不允许在控件中输入无效字符。

Masked Edit 控件具有三个被绑定的属性:DataChanged、DataField 和 DataSource。这意味着可将它链接到数据控件上,并可显示记录集中当前记录的字段值。Masked Edit 控件也可向记录集中写值。

如果可能的话,在读取 DataField 属性引用的字段值时,会将此值转换成 Text 属性的字符串。如果记录集是可更新的,那么字符串将转换成该字段的数据类型。

为了在定义掩码后清除 Text 属性,首先要给一个空字符串设置 Mask 属性,然后再给空字符串设置 Text 属性。

MaskedEdit1.Mask = ""
MaskedEdit1.Text = ""

在定义输入掩码时,Masked Edit 控件的状态就不同于标准文本框了。当输入数据或移动插入点时,插入点会自动跳过原义字符。

当插入或删除字符时,插入点右侧的所有非原义字符都必须跟着移位。如果这些字符的移位导致有效性错误,则应防止插入或删除,同时会触发 ValidationError 事件。

假设 Mask 属性被定义为 "?###",而 Text 属性的当前值是 "A12"。如果想把字母“下”插入到字母 "A"的左侧,"A" 就会右移。因为要求输入掩码中的第二个值为数字,所以 "A" 使控件生成 ValidationError 事件。

Masked Edit 控件也供 Text 属性的值在运行时有效。如果 Text 属性的设置使属性自身与输入掩码冲突,则控件生成运行时错误。

可以象对标准文本框控件那样,用与那里相同的方法选择文本。当删除选定文本时,控件将移动选定文本右侧的其余字符。但是,在移位过程中可能导致有效性错误的任何剩余字符都被删除了,所以不会产生 ValidationError 事件。

通常,当把 Masked Edit 控件中的选定文本复制到剪贴板时,包括原义字符在内的全部选定文本都被送到剪贴板上。用 ClipMode 属性,可以只将用户输入的数据送到剪贴板上,而不会复制输入掩码中的原义字符。

http://www.xygu.com
lxcc 2002-12-30
  • 打赏
  • 举报
回复
Mask Edit Control
huangjian 2002-12-30
  • 打赏
  • 举报
回复
同意楼上的说法!
强烈建议!
heipifeng 2002-12-30
  • 打赏
  • 举报
回复
DTPicker
是个不错的东西,里面就象日历一样,这么做就不会出错了,一定是日期。
minajo21 2002-12-30
  • 打赏
  • 举报
回复
建议使用控件DTPicker
qqqdong 2002-12-30
  • 打赏
  • 举报
回复
EditMask
日总是我哥 2002-12-30
  • 打赏
  • 举报
回复
这里的人气真旺啊,哈哈哈

中间插播广告:)

-----------------------------------------------------------------
欢迎访问:http://CoolSlob.fykj.com/
本站◆第一主打:《查询利器》,在这里你可以查询CSDN FAQ---目前唯一可查询的站点(CSDN自身也不支持)
  ◆第二主打:《CSDN精华贴》,在这里你可以看到网友们出奇的搞笑本领;可以看到网友们高深莫测的技术功底:)
  ◆第三主打:《下载专区》,在这里你可以下载到C++ Primer 3rd这样的经典书籍,可以下载到够Inside的《Insdie SQL Server7.0》,前些时候,我本人就是借助这本书来破解MS SQL Server数据库的.mdf和.ldf文件的:)
  ◆只要有大家的支持,网站有可能加入搜索“CSDN精华贴”功能!
用户 昵称 2002-12-30
  • 打赏
  • 举报
回复
越简单越好,如同楼上的用combobox.
OFFICE之门 2002-12-30
  • 打赏
  • 举报
回复
1、缺省设置成2002/2/4,给用户以提示
2、在Text1_Change()事件中用ASC函数判断是否是数字或/输入
thelostman 2002-12-30
  • 打赏
  • 举报
回复
你对客户要求太高了,可以自己写个转换代码,只要输入的是日期就可以了吧?然后用楼上方竹兄所言,比要求那么严好得多。
2002oncemore 2002-12-30
  • 打赏
  • 举报
回复
into the rain 现在不行了,呵呵
icansaymyabc 2002-12-30
  • 打赏
  • 举报
回复
响应字符时间,检查每一个敲入的字符,只允许 数字 或 "\""-"
当收到回车键或失去焦点时用isdate判断
tinafang 2002-12-30
  • 打赏
  • 举报
回复
对了,我也是玩protoss的,into the rain 是我的偶像 :)
southdoor 2002-12-30
  • 打赏
  • 举报
回复
你可以试图转化text1.text为日期格式,如果成功,则有效。
ganzhiruogy 2002-12-30
  • 打赏
  • 举报
回复
Private Sub Text1_LostFocus()
If Not IsDate(Text1) Then
Text1.SetFocus
else
Text1.Text=format(Text1,"yyyy/m/d")
End If
End Sub
tinafang 2002-12-30
  • 打赏
  • 举报
回复
建议使用三个ComboBox让用户选择
日总是我哥 2002-12-30
  • 打赏
  • 举报
回复
自己写代码控制吧,哈哈哈

中间插播广告:)

-----------------------------------------------------------------
欢迎访问:http://CoolSlob.fykj.com/
本站◆第一主打:《查询利器》,在这里你可以查询CSDN FAQ---目前唯一可查询的站点(CSDN自身也不支持)
  ◆第二主打:《CSDN精华贴》,在这里你可以看到网友们出奇的搞笑本领;可以看到网友们高深莫测的技术功底:)
  ◆第三主打:《下载专区》,在这里你可以下载到C++ Primer 3rd这样的经典书籍,可以下载到够Inside的《Insdie SQL Server7.0》,前些时候,我本人就是借助这本书来破解MS SQL Server数据库的.mdf和.ldf文件的:)
  ◆只要有大家的支持,网站有可能加入搜索“CSDN精华贴”功能!
Kain 2002-12-30
  • 打赏
  • 举报
回复
自己用函数判断
加载更多回复(4)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧