bra*_*zoo 58 .net datetimepicker winforms
我希望能够显示DateTimePicker默认值为nothing,即没有日期.
例如,我有一个任务的开始日期dtTaskStart和结束日期dtTaskEnd,但结束日期未知,并且最初未填充.
我已yyyy-MM-dd为两个控件指定了自定义格式.
null在运行时将值设置为或为空字符串会导致错误,因此如何实现此目的?
我曾考虑使用复选框来控制此字段的启用,但仍然存在显示初始值的问题.
编辑:
可以说是问题DateTimePicker Null Value(.NET)的副本,但我找到的问题的解决方案不是该问题的解决方案,所以我认为它应该留在这里供其他人查找..
小智 46
只需按如下方式设置属性:
当用户按"清除键"或"删除键"时
dtpData.CustomFormat = " " 'An empty SPACE
dtpData.Format = DateTimePickerFormat.Custom
Run Code Online (Sandbox Code Playgroud)
在DateTimePicker1_ValueChanged事件上做
dtpData.CustomFormat = "dd/MM/yyyy hh:mm:ss"
Run Code Online (Sandbox Code Playgroud)
bra*_*zoo 27
通过使用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
Run Code Online (Sandbox Code Playgroud)
Dav*_*lls 20
这对我来说对c#有用
if (enableEndDateCheckBox.Checked == true)
{
endDateDateTimePicker.Enabled = true;
endDateDateTimePicker.Format = DateTimePickerFormat.Short;
}
else
{
endDateDateTimePicker.Enabled = false;
endDateDateTimePicker.Format = DateTimePickerFormat.Custom;
endDateDateTimePicker.CustomFormat = " ";
}
Run Code Online (Sandbox Code Playgroud)
好一个人!
小智 5
如果任何人在表单加载事件期间将datetimepicker控件设置为空白时出现问题,然后根据需要显示当前日期,这是一个示例:
确保CustomFormat = " "两种方法都有相同数量的空间(至少一个空格)
Private Sub setDateTimePickerBlank(ByVal dateTimePicker As DateTimePicker)
dateTimePicker.Visible = True
dateTimePicker.Format = DateTimePickerFormat.Custom
dateTimePicker.CustomFormat = " "
End Sub
Private Sub dateTimePicker_MouseHover(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dateTimePicker.MouseHover
Dim dateTimePicker As DateTimePicker = CType(sender, DateTimePicker)
If dateTimePicker.Text = " " Then
dateTimePicker.Text = Format(DateTime.Now, "MM/dd/yyyy")
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
164016 次 |
| 最近记录: |