DateTimePicker дважды вызывает ValueChanged в DropDownC#

Место общения программистов C#
Anonymous
DateTimePicker дважды вызывает ValueChanged в DropDown

Сообщение Anonymous »

Похоже, DateTimePicker вызывает ValueChanged дважды:
  • один раз с MaxDate
  • один раз с текущим значением
при открытии раскрывающегося списка, если значение не является MaxDate .
Чтобы воспроизвести перетаскивание DateTimePicker в форму, поместите

Код: Выделить всё

dateTimePicker1.MinDate = new DateTime(2024, 5, 31);
dateTimePicker1.MaxDate = new DateTime(2024, 6, 2);
dateTimePicker1.Value = dateTimePicker1.MaxDate.AddHours(-1);
к обработчику событий Load.
Подключите событие ValueChanged и добавьте отладочный вывод:

Код: Выделить всё

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine(DateTime.Now.ToString("mm:ss:ms") + " ::  " + dateTimePicker1.Value.ToShortDateString() + " __ " + dateTimePicker1.Value.ToShortTimeString());
}
Каждый раз при открытии DropDown событие ValueChanged срабатывает дважды (за исключением того, что Value — это MaxDate, в этом случае ValueChanged не отображается). поднято, как и ожидалось).
Есть ли какая-либо настройка, вызывающая такое странное поведение, или это «задуманная» ошибка?

Подробнее здесь: https://stackoverflow.com/questions/788 ... n-dropdown

Вернуться в «C#»