Итак, решение, которое я нашел, на самом деле не решение, а обходной путь.Кажется, что DateTimePicker просто не работает правильно, если свойство minDate установлено в будущее, например: myDate.minDate= today.addDays(1)
в моем случае.
Примечание1: проблема НЕ возникает, если для Mateate установлено значение сегодня или даже myDate.minDate = today.addDays(-1)
работает отлично.Кажется, у него есть проблемы с будущим «только».
Примечание2: в новом коде я временно отключаю событие valueChange.Один раз, когда форма загружается, поэтому инициализация объекта не запускает событие, и один раз, когда событие запускается, потому что пользователь изменил дату.Пользователь может выбрать текущую дату (сегодня), но на самом деле первая дата, которую мы должны применить, это завтра, поэтому значение datetimepicker может снова измениться.Отключение события означает, что событие срабатывает только один раз.
Как я уже сказал, это действительно только обходной путь.Я не знаю, как это возможно, что средство выбора даты не может обработать такую простую вещь, как myDate.minDate = today.addDays(1)
Public Class TEMP
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
RemoveHandler myDate.ValueChanged, AddressOf myDate_ValueChanged
myDate.MinDate = Today
AddHandler myDate.ValueChanged, AddressOf myDate_ValueChanged
End Sub
Private Sub myDate_ValueChanged(sender As Object, e As EventArgs) Handles myDate.ValueChanged
If myDate.Value.Date = Today.Date Then
RemoveHandler myDate.ValueChanged, AddressOf myDate_ValueChanged
myDate.Value = Today.AddDays(1)
AddHandler myDate.ValueChanged, AddressOf myDate_ValueChanged
End If
MsgBox(myDate.Value)
End Sub
End Class