public static void SetValue(this DateTimePicker dt, object value) { dt.DetachValueChangedEvent(); if (Convert.IsDBNull(value) || value == null || Convert.ToString(value).Trim().Equals(string.Empty)) { dt.Value = DateTime.Now; dt.Checked = false; } else { double doubleValue; if (double.TryParse(Convert.ToString(value), out doubleValue)) { dt.Value = DateTime.FromOADate(doubleValue); } else { dt.Value = Convert.ToDateTime(value); } dt.Checked = true; } dt.AttachValueChangedEvent(); }