【问题标题】:How to change DateTimePicker Color inWindows Forms如何在 Windows 窗体中更改 DateTimePicker 颜色
【发布时间】:2015-05-18 07:51:07
【问题描述】:

如果我更改日历中的日期,是否可以更改dateTimePicker 的颜色?

【问题讨论】:

标签: c# windows-forms-designer


【解决方案1】:

没有用于更改Backgroundcolor 更改属性的属性,但是有几个属性允许您自定义 DateTimePicker 控件的外观和行为。

如果您使用的是 Windows Vista 或 Windows 7 并使用 Aero 等主题,则修改日历颜色的属性无效。要查看更改日历颜色的结果,我们需要禁用视觉样式。为了演示,我们将这样做。在解决方案资源管理器中找到Program.cs,然后双击打开它。注释掉或删除该行:

Application.EnableVisualStyles();

欲了解更多信息,请使用此The DateTimePicker Control

【讨论】:

    【解决方案2】:

    你没有表现出任何努力,但是..

    DateTimePicker class 具有ValueChanged event,当Value 属性更改时发生。

    不清楚要更改哪种颜色,但可以使用CalendarMonthBackgroundCalendarForeColor 属性。

    private void DateTimePicker1_ValueChanged(Object sender, EventArgs e)
    {
       //
    }
    

    看起来更改 BackColorForeColor 属性对当前控件没有影响。在这种情况下,一般建议是这样的; 你必须自己渲染它,这真的很难Changing the background color of a DateTimePicker in .NET 上的解决方案可能也不起作用。

    MSDN 论坛上还有thread,它使用从DateTimePicker 继承的自定义控件。

    【讨论】:

      【解决方案3】:

      也许不是直接的答案(肯定是迟来的):

      我总是使用 DateTimePicker 控件并将其停靠(填充)在面板中。我确保面板至少有 1 的填充(在所有方面)。然后,如果我需要更改背景颜色或模拟边框颜色更改,我会在周围面板上进行,而不是直接在 DateTimePicker 控件上进行。

      我的用例是模拟控件何时无效,即如果需要相关日期字段,则在周围面板上放置一个 Color.Red 边框。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-24
        • 2012-03-02
        • 2021-05-07
        • 2011-09-27
        • 1970-01-01
        相关资源
        最近更新 更多