Как отключить некоторые даты в элементе управления DateTimePicker? - PullRequest
9 голосов
/ 02 марта 2010

Мне было интересно, можно ли отключить выбранные даты в DateTimePicker, чтобы пользователь не мог их выбрать. Я знаю, что это возможно в веб-формах, но в Windows-формах я не могу этого сделать. Как мне этого добиться.

Ответы [ 2 ]

3 голосов
/ 02 марта 2010

Легкость, с которой вы можете это сделать, будет зависеть от дат, которые вы хотите ограничить. Например, если вам нужно только указать диапазон допустимых дат для выбора, то вы можете использовать свойства MinDate и MaxDate , чтобы установить границы. Однако, если вы хотите выбрать определенные дни в пределах диапазона (например, без выходных), встроенного метода для этого не существует.

Вы можете найти сторонний элемент управления с этой функцией или попытаться немного его взломать, добавив обработчик события к событию ValueChanged и принудительно установив текущую дату и время до последнего значения (который вы должны будете кэшировать), если пользователь выберет что-то, что было незаконным в соответствии с вашей бизнес-логикой ... но это далеко не идеальный способ сделать это.

2 голосов
/ 02 марта 2010

Средства управления Developer Express, как правило, очень гибкие, и, судя по этой статье поддержки , вы можете добиться того, чего хотите, с помощью DateEdit элемента управления.

Контрольную коллекцию можно получить из следующего местоположения: Более 60 бесплатных контролей от DevExpress . (бесплатное предложение больше не доступно)

Не забудьте прочитать лицензионное соглашение.

...