【问题标题】:monthcalendar control selected range not drawing correctly月历控件所选范围未正确绘制
【发布时间】:2010-02-25 00:36:02
【问题描述】:

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

有人知道我可以做些什么来纠正这个问题吗?

【问题讨论】:

    标签: .net winforms controls monthcalendar


    【解决方案1】:

    我得到相同的行为。在此屏幕截图中,我选择了 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 控件的范围选择。

    【讨论】:

    • 谢谢!这有助于解决我遇到的确切问题
    【解决方案2】:

    检查TrailingForeColorproperty。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 2019-06-18
      • 2016-02-22
      • 2014-10-02
      • 2011-01-10
      相关资源
      最近更新 更多