Я использую элементы управления MonthCalendar в приложении Windows Forms.
Я хочу выделить серым цветом даты старше MinDate элемента управления (или дать пользователю визуальную подсказку о том, какие даты недопустимы для выбора).
У элемента управления нет свойства для получения ожидаемого поведения.
Я пробовал UltraDateTimeEditor от Infragistics, но у него та же проблема (нет свойства для установки цвета / стиля для дат до MinDate).
Как я могу получить то, что хочу, без необходимости кодировать собственный элемент управления календарем или выполнять слишком много низкоуровневых (например, пользовательских чертежей) вещей? В идеале решение должно работать на .Net framework 2.0, но если ему требуется 3.5, ничего страшного.





Кажется, что MonthControl уже делает то, что вы ищете. Установка свойства minDate удаляет недопустимые дни / годы из календаря, поэтому их нельзя выбрать. Работает в .NET 2.0 и 3.5.
Имейте в виду, что я использую Windows Server 2008, поэтому визуальные стили для элементов управления .NET могут отличаться от используемых в вашей системе. Удачи!
Без создания собственного элемента управления или пользовательского рисунка это невозможно.
Недействительные даты НЕ выделяются серым цветом. Это просто не делает их доступными для выбора