2010-02-25 2 views
2

У меня есть контроль месяца в календаре в моей форме, и когда я выбираю диапазон, диапазон просто бежит. Я проверил titlebackcolor (Highlight) и titleforecolor (AliceBlue), и они не настроены на белый.monthcalendar control выбранный диапазон неправильный рисунок

Кто-нибудь знает, что я могу сделать, чтобы исправить это?

ответ

0

Проверьте TrailingForeColor Недвижимость.

Также ознакомьтесь с информацией о MSDN here. Вы можете узнать что-нибудь полезное, что вы пропустили.

3

Я получаю то же поведение. В этом скриншоте, я выбрал 12 по 14 Januari 2011

Incorrect rendering of range in MonthCalendar control

Причина, по которой рендеринг неверен должен делать с Visual Styles. Они включены по умолчанию, что обычно является тем, что вы хотите. Например, он включает кнопки с закругленными углами.

Если вы отключить VisualStyles (путем удаления строки Application.EnableVisualStyles() из вашего Program.cs), то CalendarControl рисует диапазон, как можно было бы ожидать. Тем не менее, отключение визуальных стилей также означает, что вы получаете устаревший рендеринг для некоторых других элементов управления, таких как кнопка и элемент управления CheckBox. На этом снимке экрана отображается правильный выбор диапазона в элементе управления MonthlyCalendar, а также отображаются устаревшие элементы управления Button и CheckBox.

Correct rendering of range in MonthCalendar control

Хотя MSDN reference for the MonthCalendar class не упоминает этого, MSDN Reference on Visual Stylesделает упоминает его в своей записке.

Я не знаю, как не использовать визуальные стили для Vista или Windows 7, поскольку у меня только Windows XP под рукой. Но если рендеринг в этих операционных системах одинаковый, вам лучше не использовать диапазон выбора элемента управления MonthCalendar.

+0

Спасибо! это помогло с точной проблемой, с которой я столкнулся –

Смежные вопросы