Foxtable(狐表)用户栏目专家坐堂 → [求助]如何完善TextChanged事件?


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

主题:[求助]如何完善TextChanged事件?

帅哥哟,离线,有人找我吗?
老鼠
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:3658 威望:0 精华:0 注册:2008/11/2 21:50:00
[求助]如何完善TextChanged事件?  发帖心情 Post By:2022/12/4 10:20:00 [只看该作者]

事件报错,提示窗口如下:

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20221204101810.png
图片点击可在新窗口打开查看
请老师帮助!

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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/12/4 11:06:00 [只看该作者]

试试把日期用 CDate格式化一下看看
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/12/4 11:51:21编辑过]

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


加好友 发短信
等级:小狐 帖子:366 积分:3658 威望:0 精华:0 注册:2008/11/2 21:50:00
  发帖心情 Post By:2022/12/4 14:29:00 [只看该作者]

首先感谢您的帮助,但我这个窗口控件本身就是日期类型不是字符型哦!
其次就是这下面的代码有不完善的地方,只要删除这段就没有这个错误提示了。
Dim qr As WinForm.DateTimePicker = e.Form.Controls("合同起始日")
Dim zr As WinForm.DateTimePicker = e.Form.Controls("合同终止日")
Select Case e.Form.Controls("合同期限").text
    Case "1"
        zr.Value = qr.Value.AddYears(1)
    Case "2"
        zr.Value = qr.Value.AddYears(2)
    Case "3"
        zr.Value = qr.Value.AddYears(3)
    Case "4"
        zr.Value = qr.Value.AddYears(4)
    Case "5"
        zr.Value = qr.Value.AddYears(5)
End Select
[此贴子已经被作者于2022/12/4 14:31:16编辑过]

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


加好友 发短信
等级:小狐 帖子:366 积分:3658 威望:0 精华:0 注册:2008/11/2 21:50:00
  发帖心情 Post By:2022/12/4 14:59:00 [只看该作者]

刚才自己又测试了一下,以下代码不报错:
Dim qr As WinForm.DateTimePicker = e.Form.Controls("合同起始日")
Dim zr As WinForm.DateTimePicker = e.Form.Controls("合同终止日")
Select Case e.Form.Controls("合同期限").Text
    Case "1"
        zr.Value = "2022-12-04"
    Case "2"
        zr.Value = "2022-12-04"
   Case "3"
        zr.Value = "2022-12-04"
    Case "4"
        zr.Value = "2022-12-04"
    Case "5"
        zr.Value = "2022-12-04"
End Select

也就是说就这后面这段有问题。还请老师们指导下,如何修改为佳!!!

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

日期控件没有值到导致的错误,判断一下

Dim qr As WinForm.DateTimePicker = e.Form.Controls("合同起始日")
if qr.Value = nothing then
msgbox("请先选择合同起始日")
return
end if
dim d as integer = e.Form.Controls("合同期限").value
if d > 0 then
Dim zr As WinForm.DateTimePicker = e.Form.Controls("合同终止日")
zr.Value = qr.Value.AddYears(d)
end if

 回到顶部