public DateTimePickerControllerWin(Control dateTimePicker)
{
_dateTimePicker = dateTimePicker;
_dateTimePicker.KeyDown += DateTimePicker_KeyDown;
DateTimePickerUtilWinTemp.AddValueChangedHandler(_dateTimePicker, DateTimePicker_ValueChanged);
_dateTimePicker.MouseUp += DateTimePicker_MouseUp;
_dateTimePicker.GotFocus += DateTimePicker_GotFocus;
_dateTimePicker.LostFocus += DateTimePicker_LostFocus;
_dateTimePicker.Resize += DateTimePicker_Resize;
_dateTimePicker.EnabledChanged += DateTimePicker_ColorChanged;
_dateTimePicker.BackColorChanged += DateTimePicker_ColorChanged;
_dateTimePicker.ForeColorChanged += DateTimePicker_ColorChanged;
_showCheckBoxPropInfo = _dateTimePicker.GetType().GetProperty("ShowCheckBox", BindingFlags.Instance | BindingFlags.Public);
_checkedPropInfo = _dateTimePicker.GetType().GetProperty("Checked", BindingFlags.Instance | BindingFlags.Public);
_supportsCheckBox = _showCheckBoxPropInfo != null && _checkedPropInfo != null;
SetupDisplayBox();
NullDisplayValue = "";
Value = null;
UpdateFocusState();
}
/// <summary>