我希望能够显示默认值为nothing的DateTimePicker
,即没有日期。
例如,我有一个任务的开始日期dtTaskStart
和结束日期dtTaskEnd
,但结束日期未知,并且最初没有填充。
我已经为这两个控件指定了yyyy-MM-dd
的自定义格式。
在运行时将值设置为null
或空字符串会导致错误,那么我该如何完成此操作呢?
我考虑过使用复选框来控制此字段的启用,但仍然存在显示初始值的问题。
编辑:
可以说是问题DateTimePicker Null Value (.NET)的重复,但我为我的问题找到的解决方案并不是那个问题的解决方案,所以我认为它应该留在这里,让其他人找到。
发布于 2009-05-11 01:09:26
使用复选框cbEnableEndDate
作为标志,使用CustomFormat
属性模糊该值,以指示其他代码是否应忽略该值:
If dateTaskEnd > Date.FromOADate(0) Then
dtTaskEnd.Format = DateTimePickerFormat.Custom
dtTaskEnd.CustomFormat = "yyyy-MM-dd"
dtTaskEnd.Value = dateTaskEnd
dtTaskEnd.Enabled = True
cbEnableEndDate.Checked = True
Else
dtTaskEnd.Format = DateTimePickerFormat.Custom
dtTaskEnd.CustomFormat = " "
dtTaskEnd.Value = Date.FromOADate(0)
dtTaskEnd.Enabled = False
cbEnableEndDate.Checked = False
End If
发布于 2011-12-10 00:23:48
只需按如下方式设置该属性:
dtpData.CustomFormat = " " 'An empty SPACE
dtpData.Format = DateTimePickerFormat.Custom
在DateTimePicker1_ValueChanged
事件do上
dtpData.CustomFormat = "dd/MM/yyyy hh:mm:ss"
发布于 2010-06-18 22:48:40
这对我对c#来说很有效
if (enableEndDateCheckBox.Checked == true)
{
endDateDateTimePicker.Enabled = true;
endDateDateTimePicker.Format = DateTimePickerFormat.Short;
}
else
{
endDateDateTimePicker.Enabled = false;
endDateDateTimePicker.Format = DateTimePickerFormat.Custom;
endDateDateTimePicker.CustomFormat = " ";
}
干得好,伙计们!
https://stackoverflow.com/questions/846395
复制相似问题