【发布时间】:2015-05-18 07:51:07
【问题描述】:
如果我更改日历中的日期,是否可以更改dateTimePicker 的颜色?
【问题讨论】:
如果我更改日历中的日期,是否可以更改dateTimePicker 的颜色?
【问题讨论】:
没有用于更改Backgroundcolor 更改属性的属性,但是有几个属性允许您自定义 DateTimePicker 控件的外观和行为。
如果您使用的是 Windows Vista 或 Windows 7 并使用 Aero 等主题,则修改日历颜色的属性无效。要查看更改日历颜色的结果,我们需要禁用视觉样式。为了演示,我们将这样做。在解决方案资源管理器中找到Program.cs,然后双击打开它。注释掉或删除该行:
Application.EnableVisualStyles();
欲了解更多信息,请使用此The DateTimePicker Control
【讨论】:
你没有表现出任何努力,但是..
DateTimePicker class 具有ValueChanged event,当Value 属性更改时发生。
不清楚要更改哪种颜色,但可以使用CalendarMonthBackground 或CalendarForeColor 属性。
private void DateTimePicker1_ValueChanged(Object sender, EventArgs e)
{
//
}
看起来更改 BackColor 或 ForeColor 属性对当前控件没有影响。在这种情况下,一般建议是这样的; 你必须自己渲染它,这真的很难。 Changing the background color of a DateTimePicker in .NET 上的解决方案可能也不起作用。
MSDN 论坛上还有thread,它使用从DateTimePicker 继承的自定义控件。
【讨论】:
也许不是直接的答案(肯定是迟来的):
我总是使用 DateTimePicker 控件并将其停靠(填充)在面板中。我确保面板至少有 1 的填充(在所有方面)。然后,如果我需要更改背景颜色或模拟边框颜色更改,我会在周围面板上进行,而不是直接在 DateTimePicker 控件上进行。
我的用例是模拟控件何时无效,即如果需要相关日期字段,则在周围面板上放置一个 Color.Red 边框。
【讨论】: