<p>In <code>.NET</code> (at least in the 2008 version, and maybe in 2005 as well), changing the <code>BackColor</code> property of a <code>DateTimePicker</code> has absolutely no affect on the appearance. How do I change the background color of the text area, not of the drop-down calendar?</p>

<p><strong><em>Edit:</em></strong> I was talking about Windows forms, not ASP.</p>

According to
MSDN
:
Setting the
```
BackColor
```
has no effect on
  the appearance of the
```
DateTimePicker
```
.
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);
}
```
```