以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何完善TextChanged事件?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184338)

--  作者:老鼠
--  发布时间:2022/12/4 10:20:00
--  [求助]如何完善TextChanged事件?
事件报错,提示窗口如下:

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

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

--  作者:老鼠
--  发布时间: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编辑过]

--  作者:老鼠
--  发布时间: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

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

--  作者:有点蓝
--  发布时间: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