Какой самый простой и самый надежный способ изменения элемента управления .NET DateTimePicker, чтобы пользователи могли вводить значения null?
Как изменить элемент управления .NET DateTimePicker, чтобы разрешить вводить нулевые значения?
Ответ 1
Вот интересная статья статьи CodeProject. У автора переопределено свойство Value, чтобы принять значение Null как DateTime.MinValue, сохраняя при этом валидацию MinValue и MaxValue стандартного элемента управления. Это все там.
Ответ 2
Вам не нужно изменять его, чтобы сделать это.
DateTimePicker in.net действительно имеет встроенный флажок.
Задайте для свойства ShowCheckBox значение true.
Затем вы можете использовать свойство Checked, чтобы узнать, ввел ли пользователь значение.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(VS.80).aspx
Ответ 3
Размещение дополнительного флажка с надписью "enable notification", который включает/отключает DateTimePicker.
Ответ 4
Решение Tri не совсем сократило его для меня, и поэтому подумал, что г-н Грациоли и он что-то с этим поделали: http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c9645
Ответ 5
Я отправил свой длинный путь решения, в котором есть некоторые находки в комментариях кода о специфических проблемах с этим контролем:
Ответ 6
Установите для свойства ShowCheckBox значение true. Затем вы можете использовать свойство Checked следующим образом:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
DateTimePicker thisDateTimePicker = (DateTimePicker)sender;
if (thisDateTimePicker.Checked == false)
{
thisDateTimePicker.CustomFormat = @" "; //space
thisDateTimePicker.Format = DateTimePickerFormat.Custom;
}
else
{
thisDateTimePicker.Format = DateTimePickerFormat.Short;
}
}