2

我的表单中有一个月历控件,当我选择一个范围时,该范围就会变白。我检查了 titlebackcolor (Highlight) 和 titleforecolor (AliceBlue),它们没有设置为白色。

有谁知道我能做些什么来纠正这个问题?

4

2 回答 2

3

我得到同样的行为。在此屏幕截图中,我选择了 2011 年 1 月 12 日至 14 日。

MonthCalendar 控件中的范围呈现不正确

渲染不正确的原因与视觉样式有关。它们默认启用,通常是您想要的。例如,它可以启用带有圆角的按钮。

如果您禁用VisualStyles(通过Application.EnableVisualStyles()从 Program.cs 中删除该行),CalendarControl 将按照您的预期绘制范围。但是,禁用视觉样式也意味着您会在某些其他控件(如 Button 和 CheckBox 控件)上呈现过时的外观。此屏幕截图显示了 MonthlyCalendar 控件中正确呈现的范围选择,还显示了过时的 Button 和 CheckBox 控件。

MonthCalendar 控件中范围的正确呈现

虽然MonthCalendar 类的 MSDN 参考没有提到这一点,但视觉样式的 MSDN 参考 确实在其注释中提到了它。

我不知道如何不在 Vista 或 Windows 7 上使用 Visual Styles 渲染,因为我手头只有 Windows XP。但如果在这些操作系统上呈现相同,则最好不要使用 MonthCalendar 控件的范围选择。

于 2011-01-18T10:11:19.137 回答
0

检查TrailingForeColor财产。

还可以在此处查看 MSDN 上的详细信息。您可能会发现任何您错过的有用信息。

于 2010-05-06T10:27:53.120 回答