Foxtable(狐表)用户栏目专家坐堂 → 自定义时间选项


  共有3083人关注过本帖树形打印复制链接

主题:自定义时间选项

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
自定义时间选项  发帖心情 Post By:2021/5/6 15:20:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自定义日期选择.table


  不能在别人的帖子上回,我只能别开帖了,昨天下载了蓝老师回复论坛帖主的一个例子,当时看了一下功能,觉得我可以应用,今天测试了一下,发现点上面的年月左、右选项,一点月历控件闪退了,无法继续点到自己需要的月份,下面的时、分、秒上下选项也没设显示范围,时间可超出0、24;分、秒超出0、60,这些都是不正常取值范围,控件设置不严紧,我看过帮助,关于月历控件的这方面设置并没提到,请教如何解决上述问题。
我对时:
If e.Sender.Value Is Nothing Or e.Sender.Value < 0 Or e.Sender.Value > 24 Then
    e.Cancel = True
End If
分、秒:
If e.Sender.Value Is Nothing Or e.Sender.Value < 0 Or e.Sender.Value > 60 Then
    e.Cancel = True
End If
分别作了取值范围设定,就算手输数字进去,也没法撤消超出范围显示,控件中的左右、上下按钮都没法用代码控制。


[此贴子已经被作者于2021/5/7 15:58:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/6 15:48:00 [只看该作者]

1、去掉日历的事件代码,添加一个确定按钮,代码
e.Form.DropDownBox.Value = cdate(Format(e.Form.Controls("Calendar1").value,"yyyy-MM-dd ") & e.Form.Controls("NumericComboBox1").text & ":" & e.Form.Controls("NumericComboBox2").text & ":" & e.Form.Controls("NumericComboBox3").text)
e.Form.DropDownBox.CloseDropdown

2、比如小时控件的textchanged事件
If cint(e.Sender.text) < 0 OrElse cint(e.Sender.text) > 23 Then
    e.Sender.text = 0
End If

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/6 17:47:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210506173813.png
图片点击可在新窗口打开查看
时分秒的控制在TextChanged事件中写了代码手动输入61一样没取消,输入-或按Delete键直接弹出上面的报错,另分别点时、分、秒上下选项都不受上、下值控制,可一直点超过60或少于0!

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/5/6 17:58:00 [只看该作者]

没搞懂为什么这样搞,直接用窗口输入,设置长时间格式就能自动输入啊

要不改为组合框选择吧,组合框内容设置好,肯定不会报错

[此贴子已经被作者于2021/5/6 18:00:29编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/6 18:03:00 [只看该作者]

把控制代码改在KeyPress事件中执行也没取消输入

[此贴子已经被作者于2021/5/6 18:05:03编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/6 18:12:00 [只看该作者]

测试自然都要试过吧,不然怎知行不行得通,这样设计目的不想手工输入,太烦人了,弹出月历选项,看上去也挺不错,装装酷,唉!谁知弄巧反拙!我是看了你上传的设计才起心这样搞,学习嘛,不怕撞板不怕被骂图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/6 20:29:00 [只看该作者]

判断一下控件是不是没有输入

或者判断一下内容是否可以转换:http://www.foxtable.com/webhelp/topics/0324.htm

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/5/7 9:06:00 [只看该作者]

确实,我是有强迫症的图片点击可在新窗口打开查看

你试试把代码放到这个事件:ValueChanged

比如时的,代码这样写,输入超出的值会自动改为0

If cint(e.Sender.text) < 0 OrElse cint(e.Sender.text) > 23 Then
    e.Sender.text = 0
End If

[此贴子已经被作者于2021/5/7 9:24:15编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/5/7 9:30:00 [只看该作者]

我一开始是把代码写在ValueChanged事件,没用,它不会判断取消输入,我写到Validating事件里了
Dim a As Integer
Integer.TryParse(e.Sender.text,a)
If a < 0 Or a > 24 Then
    e.Cancel = True
End If
把属性中的微调按钮改为False,下拉按钮改为True。
建议狐爸在月历微调按钮下添加两个上、下限自定义选项,设置限制输入超出正常范围数据。

[此贴子已经被作者于2021/5/7 11:35:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2021/5/7 9:32:00 [只看该作者]

我测试可以取消啊,加QQ278533471

 回到顶部
总数 12 1 2 下一页