我希望能够显示一个默认值为零的DateTimePicker,即没有日期.

例如,我有一个任务的开始日期dtTaskStart和结束日期dtTaskEnd,但是结束日期未知,并且最初没有填充.

我已经为这两个控件指定了自定义格式yyyy-MM-dd.

将该值设置为null,或者在运行时设置空字符串会导致错误,那么如何实现这一点呢?

我考虑过使用复选框来控制此字段的启用,但仍然存在显示初始值的问题.

Edit:

推荐答案

通过使用CustomFormat属性模糊该值,使用复选框cbEnableEndDate作为标志指示其他代码是否应忽略该值:

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

.net相关问答推荐

.NET Blazor-使用子组件中的处理程序方法进行双向数据绑定

ZstdNet库的问题:Src大小不正确,异常

如何使用.NET8MapIdentityApi设置OpenApi操作ID

从窗体中移除另一个控件中引用的控件时获取设计时通知

当数据大量分布在微服务中时,我应该如何设计后端?

ECS服务无法从Cognito获取配置

通过 System.Net.Mail 的 VB SMTP 停止工作

dotnet ef dbcontext scaffold command --data-annotations 或 -d 命令行参数似乎不起作用

使用 PostAsJsonAsync C# 时出现错误请求

关于在 .NET 中干净地终止线程的问题

在 .NET 反射中使用 GetProperties() 和 BindingFlags.DeclaredOnly

C# 的部分类是糟糕的设计吗?

使用 IIS Express 托管网站(临时)

为什么 Interlocked.Exchange 不支持布尔类型?

返回 IList 是否比返回 T[] 或 List 更糟糕?

X509Certificate 构造函数异常

使用 XmlSerializer 将空 xml 属性值反序列化为可为空的 int 属性

如何在 WebBrowser 控件中注入 Javascript?

为什么 .NET 中没有 Tree 类?

如何使用 NPOI 读取文件