DateTimePicker - 在DropDownEvent上设置MaxDate

时间:2014-09-02 14:57:11

标签: .net datetimepicker maxdate

好的,所以我试图在我的应用程序中为DateTimePicker控件添加一些功能。我想要的影响是设置最大日期而不影响用户输入的内容。

例如,如果DateTimePicker的值设置为当前日期,并且最大日期也设置为当前日期,如果用户编辑该日期并且它的数字大于当前日期,则它将重置该值。这会很烦人,因为写日期的正常方式是先天或月(取决于你所在的国家)。

所以,我的想法是将日历下拉列表的最大日期设置为今天的日期,并在日历再次关闭时将其设置为最大值。这有额外的验证,以提交参数内的日期时间应该是有道理的。这是代码:

Private Sub dtpDateTime_KeyUp(sender As Object, e As KeyEventArgs) Handles dtpDateTime.KeyUp
    If e.KeyCode = Keys.Enter Then TriggerUpdate()
End Sub

Private Sub dtpDateTime_DropDown(sender As Object, e As EventArgs) Handles dtpDateTime.DropDown
    dtpDateTime.MaxDate = Now.Date
End Sub

Private Sub dtpDateTime_CloseUp(sender As Object, e As EventArgs) Handles dtpDateTime.CloseUp
    dtpDateTime.MaxDate = #12/31/9998#
End Sub

这似乎不起作用,因为我认为在此事件运行之前日历会打开。

我有没有其他方法可以做到这一点,因为我的想法已经用完了?

0 个答案:

没有答案