欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#日期控件datetimepicker保存空值的三种方法

程序员文章站 2022-06-09 13:45:43
方法一(推荐): 设置datetimepicker的属性showcheckbox为true 在窗口初始化时候,添加代码this.datetimepicker1.chec...

方法一(推荐):

设置datetimepicker的属性showcheckbox为true

在窗口初始化时候,添加代码this.datetimepicker1.checked = false;

保存日期值入库的时候,就可以根据if(this.datetimepicker1.checked ==false),保存空值。

方法二:

在窗口初始化函数中添加:

复制代码 代码如下:

this.datetimepicker1.format=datetimepickerformat.custom;

this.datetimepicker1.customformat="   ";


在日期改变事件里写:
复制代码 代码如下:

private void datetimepicker1_valuechanged(object sender, system.eventargs e)

{

this.datetimepicker1.format=datetimepickerformat.long;

this.datetimepicker1.customformat=null;

}


这样就实现了,在程序初始化时datetimepicker显示为空

但是,这种写法有个问题,保存入库的时候,还要加一个判断if(this.datetimepicker1.text.tostring()==""),保存空值;else 保存this.datetimepicker1.value。

这种写法遇到个bug,一直没有解决,就是日期控件默认是空的,在第一次选择一个日期后必须失去焦点才能选择新的日期,不知道什么原因?

方法三:

在日期控件上面覆盖一个文本框,然后初始化时候文本框是空值,每次日期选择之后将值附在文本框里面。