In .NET
(at least in the 2008 version, and maybe in 2005 as well), changing the BackColor
property of a DateTimePicker
has absolutely no affect on the appearance. How do I change the background color of the text area, not of the drop-down calendar?
Edit: I was talking about Windows forms, not ASP.
To change the background color of text in Console, use the Console. BackgroundColor Property in C#.
A DateTimePicker control allows users to select a date and time in Windows Forms applications.
According to MSDN :
Setting the
BackColor
has no effect on the appearance of theDateTimePicker
.
You need to write a custom control that extends DateTimePicker
. Override the BackColor
property and the WndProc
method.
Whenever you change the BackColor
, don't forget to call the myDTPicker.Invalidate()
method. This will force the control to redrawn using the new color specified.
const int WM_ERASEBKGND = 0x14;
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if(m.Msg == WM_ERASEBKGND)
{
using(var g = Graphics.FromHdc(m.WParam))
{
using(var b = new SolidBrush(_backColor))
{
g.FillRectangle(b, ClientRectangle);
}
}
return;
}
base.WndProc(ref m);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With