好的,所以我正在尝试向我的应用程序中的 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
这似乎不起作用,因为我认为日历在此事件运行之前打开。
当我没有想法时,还有其他方法可以做到这一点吗?