使VB.Net日期选择器成为必需的

使VB.Net日期选择器成为必需的,vb.net,winforms,datepicker,Vb.net,Winforms,Datepicker,我在vb.net clickonce应用程序中有一个日期选择器。我需要确保,为了使用该应用程序,需要选择一个有效的日期。理想情况下,我可以将datepicker的值设置为null,然后根据datepicker1.value仍然为null的情况,通过编程创建Try-Catch逻辑。不幸的是,它不允许我为datepicker分配null或空值。我无法基于日期选择器的任何实际值创建逻辑,因为谁说所选的值无效。我曾尝试将该值设置为一些没有人会为应用程序选择的异常日期,如1970年1月1日,但是日期选择器

我在vb.net clickonce应用程序中有一个日期选择器。我需要确保,为了使用该应用程序,需要选择一个有效的日期。理想情况下,我可以将datepicker的值设置为null,然后根据datepicker1.value仍然为null的情况,通过编程创建Try-Catch逻辑。不幸的是,它不允许我为datepicker分配null或空值。我无法基于日期选择器的任何实际值创建逻辑,因为谁说所选的值无效。我曾尝试将该值设置为一些没有人会为应用程序选择的异常日期,如1970年1月1日,但是日期选择器会在1970年1月1日打开,并在获得焦点后立即删除该日期。我需要一种方法来验证是否有人选择了日期,但我被卡住了,无法在网上找到任何真正的帮助。我不希望设置customformat=“”,因此请不要使用该解决方案进行响应。我需要实际值为空,或者我可以对其进行验证,以知道用户实际上选择了一个日期。

您可以使用该事件设置一个标志,告诉您他们单击了一个日期吗

更新
您还可以使用该方法设置一个标志来验证用户是否实际单击了DateTimePicker。

ShowCheckBox
属性设置为true。这将使控件看起来像这样

当用户选择日期时,它将选中复选框。然后当你需要价值的时候

If datePicker.Checked Then
    'user has selected a value
Else
    'user has NOT selected a value
End If

他们是否应该选择特定的值?如果您使用的是日期选择器,您应该能够设置MinDate/Max日期。codeproject.com上有大量可为空的DTP。我同意,最好使用ValueChanged事件。然后,如果他需要特定范围内的日期,请使用MinDate/maxDate函数。问题是,如果用户实际选择的日期与我设置为事件不会触发的值的日期相同。例如,如果datepicker的值是today,而用户实际上正试图将今天的日期分配给事务,则不会触发value changed事件。如果您需要日期,您将如何处理它?选择日期后应该发生什么?日期只是用户指定的日期,用于指示交易发生的时间。可能是今天,也可能是一个月前。当从日期选择器中选择日期时,该值需要更改为所选的日期。@j请让我们了解更多有关您试图实现的目标的信息。你能给我们看一下相关的代码吗?