.NET - Как скрыть неверный выбор в DateTimePicker - PullRequest
2 голосов
/ 25 сентября 2008

Я установил свойства MaxDate и MinDate для DateTimePicker. Однако, когда я тестирую элемент управления во время выполнения, нет способа отличить недействительные даты от действительных. Разница лишь в том, что нажатие на недействительную дату ничего не делает.

Это не очень интуитивно понятно для пользователя. Я хочу сразу сказать, какие действительные даты.

Есть ли способ выделить допустимый диапазон дат или, что более уместно, «затемнить» недействительные даты? Или есть другой контроль, который был бы более подходящим? Я уверен, что пара комбо-боксов будет работать, но я действительно думаю, что пользователю нужно предоставить элемент управления календаря, когда его попросят о дате.

КОНТЕКСТ: Это графическое приложение WinForms. Диапазон допустимых данных фиксирован (новые данные добавляются другим процессом). Пользователь должен выбрать дату и время начала графика (а также продолжительность, которая обрабатывается отдельно).

Ответы [ 2 ]

1 голос
/ 25 сентября 2008

У меня похожая проблема. Я расширил элемент управления DateTimePicker, чтобы запускать процесс проверки всякий раз, когда значение изменяется, и либо возвращаться к предыдущему значению, либо к ближайшему допустимому значению в случае неправильного выбора.

Логическим расширением этого является всплывающее диалоговое окно с предупреждением или метка, информирующая пользователя о том, что это произошло.

Вы также можете переопределить часть отображения календаря элемента управления, чтобы выделить / выделить недопустимые параметры - например, он уже выделяет текущий день и текущий выбор.

0 голосов
/ 25 сентября 2008

Я не уверен, что есть, не расширяя контроль самостоятельно, и рисунок владельца, который будет усилием.

Если вы не можете найти функциональность после, я бы рассмотрел использование элемента управления ErrorProvider и проверку ввода пользователя в качестве опции.

...