我的表单中有一个monthcalendar控件,当我选择一个范围时,范围就是白色。我检查了titlebackcolor(突出显示)和titleforecolor(AliceBlue),它们没有设置为白色。
任何人都知道我可以做些什么来纠正这个问题?
答案 0 :(得分:3)
我得到了同样的行为。在此截图中,我选择了2011年1月12日至14日。
呈现不正确的原因与Visual Styles有关。它们默认启用,通常是您想要的。例如,它可以启用带圆角的按钮。
如果您禁用 VisualStyles(通过从Program.cs中删除行Application.EnableVisualStyles()
),CalendarControl会按照您的预期绘制范围。但是,禁用“视觉样式”也意味着您会看到一些其他控件(如Button和CheckBox控件)的过时外观渲染。此屏幕截图显示了MonthlyCalendar控件中正确呈现的范围选择,还显示了过时的Button和CheckBox控件。
虽然MSDN reference for the MonthCalendar class未提及此问题,但MSDN Reference on Visual Styles 在其注释中提及
。我不知道如何在Vista或Windows 7上使用Visual Styles渲染,因为我手头只有Windows XP。但是如果这些操作系统上的渲染是相同的,那么最好不要使用MonthCalendar控件的范围选择。
答案 1 :(得分:0)
检查TrailingForeColor
属性。
另请查看有关MSDN here的详细信息。您可能会发现任何有用的错误。