Какой самый простой и самый надежный способ изменения элемента управления .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;
}
}