DateTimePicker C # не работает правильно в Windows XP - PullRequest
0 голосов
/ 08 марта 2012

Я создаю приложение WinForms, которое использует элемент управления DateTimePicker, мой компьютер разработчика - это компьютер с Windows 7, элемент управления работает нормально, никаких проблем или проблем. Но когда я развертываю этот WinForm на компьютере с XP и пытаюсь использовать элемент управления DateTimePicker, он открывает календарь, но при выборе даты календарь не исчезает, как на моем компьютере разработчика.

Посоветуйте, пожалуйста, как это исправить.

Заранее спасибо.

Это все, что я делаю при выборе значения из элемента управления DateTimePicker:

private void dateTimePickerStartDate_ValueChanged(object sender, EventArgs e)
        {
            dateTimePickerStartDate.Format = DateTimePickerFormat.Long;
        }

        private void dateTimePickerEndDate_ValueChanged(object sender, EventArgs e)
        {
            dateTimePickerEndDate.Format = DateTimePickerFormat.Long;
        }

1 Ответ

0 голосов
/ 09 марта 2012

Я наконец-то решил это!По какой-то причине XP не нравится эта строка кода:

dateTimePickerStartDate.Format = DateTimePickerFormat.Long;
dateTimePickerEndDate.Format = DateTimePickerFormat.Long;

Так что, если вы устанавливаете формат datetimepicker на long, XP не закрывает календарь при выборе даты.

Чтобы решить эту проблему, установите для вас формат даты и времени (если вы хотите использовать длинный формат):

dateTimePickerStartDate.Format = DateTimePickerFormat.Custom;    
dateTimePickerStartDate.CustomFormat = "dd MMMM yyyy";

dateTimePickerEndDate.Format = DateTimePickerFormat.Custom;    
dateTimePickerEndDate.CustomFormat = "dd MMMM yyyy";
...