У меня есть ниже код, который выполняется, когда пользователь изменяет дату на моем контроле DateTinePicker «Ending» Дата:VB.NET WinForms Событие смены времени запуска времени запускается дважды?
Private Sub dtpEndDate_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtpEndDate.ValueChanged
If dtpEndDate.Value.Date < dtpStartDate.Value.Date Then
MessageBox.Show("The end date should be after the start date", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
dtpEndDate.Value = Today
End If
End Sub
Эта процедура, кажется, работает в два раза, в том, что MessageBox получает показано в два раза.
Есть ли у меня неправильное событие или есть лучший способ справиться с этим?
Я попытался редактирования с переменной, как предложено:
Private Sub dtpEndDate_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtpEndDate.ValueChanged
If m_blndtpEndDateIsDone = False Then
If dtpEndDate.Value.Date < dtpStartDate.Value.Date Then
MessageBox.Show("The end date should be after the start date", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
m_blndtpEndDateIsDone = True
dtpEndDate.Value = Today
Else
m_blndtpEndDateIsDone = False
End If
Else
m_blndtpEndDateIsDone = False
End If
wnd sub
К сожалению, до сих пор стрельбы в два раза ...
Я хочу, чтобы стрелять один раз каждый раз, когда дата окончания DTPicker модифицирован и дата до даты начала.
благодаря
Филипп
Почему dtpEndDate.Value = Сегодня? – andy
ну, это было действительно отменить изменения ... –
Это будет отображаться 'MessageBox' дважды, если' Today
JosephHirn