最近在做一个小项目,有一个功能是根据用户选择条件查询数据,要求时间控件的默认值为空,只有当用户修改了时间,才根据时间查询。简单的说,就是默认或者点击清空按钮的情况下,时间控件dateTimePicker的值为空,当触发事件ValueChanged时再显示相对应的时间。
开始,我以为修改控件的默认值为空就可以了,但是我失败了,dateTimePicker不允许空值。尝试了很多次之后我开始在网上找资料,寻到了如下方法:
窗体初始化或者点击清空按钮时执行如下代码:
this. dateTimePicker1.Format = DateTimePickerFormat.Custom; this. dateTimePicker2.CustomFormat = "";
然后在事件 dtp_firsttime_ValueChanged中执行如下代码:
this. dateTimePicker1.Format = DateTimePickerFormat.Long; this. dateTimePicker1.CustomFormat = null;
这样做确实能让控件dateTimePicker1的初始值为空,但是存在一个bug,那就是第一次选择时间时,如果选择的恰好是默认的时间,那么将无法触发事件dtp_firsttime_ValueChanged ,即dateTimePicker1的值依然为空。这个问题很棘手,查阅很多资料无果之后继续细细研究dateTimePicker,发现了这样一个属性:Checked——当ShowSelectBox为true时,确定是否选中复选框,以指示用户已经选择了某个值。于是,我在窗体初始化或点击清空按钮的代码中更改了属性Checked的值,即添加如下代码:
this.dtp_firsttime.Checked = false;
这样bug便解决了。
相关推荐
对C# DateTimePicker控件改良 鼠标滚动事件 改变DateTimePicker对应的值!
两种方式获取C# DateTimePicker属性值,通过Value属性获取和Text属性获取,一个获取完整的日期时间,另一个获取数字,不含中文,测试请点击最上边下拉框中的日期选择器,选择日历。 运行环境:Visual Studio2010
对话框窗口分割后实现树状列表风格的属性表单..
javascript中读取Struts2标签datetimepicker的值.docjavascript中读取Struts2标签datetimepicker的值.docjavascript中读取Struts2标签datetimepicker的值.docjavascript中读取Struts2标签datetimepicker的值....
设置datetimepicker的属性ShowCheckBox为true 在窗口初始化时候,添加代码this.datetimepicker1.Checked = false; 保存日期值入库的时候,就可以根据if(this.datetimepicker1.Checked ==false),保存空值。 方法二:...
bootstap-datetimepicker.js 设置秒可以选择,主要修改了原js,把秒下拉框显示出来
C# 实现一个dateTimePicker 日历控件,单击后弹出式日期选择框,比较 经典的操作方法和界面风格。
想学好C#的非常好的例子,高清晰自制PDF文件
DataGridView中有文本框列,下拉框列,图像列,链接列,却没有DateTime列,这里实现在编辑DataGridView时可以录入DateTime类型数据。
修改了源代码,将原本的今日修改为清空操作,不一定符合全部的需求。
主要给大家介绍了关于C#中Datetimepicker出现问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
WinForm中界面日期相减(DateTimePicker控件)
C#101使用DateTimePicker 源代码
创建2个DateTimePicker,分别为datetimepicker1和datetimepicker2,1用来显示日期,2用来显示时间。 代码如下: ////日期 datetimepicker1.Format = DateTimePickerFormat.Custom; datetimepicker1.CustomFormat = ...
每次加载的时候自动跳到每月的第一天 如1月 是1月1号 如2月 是2月2号 依次类推。。。。 方便按日期查询时 可初始化初始查询日期
界面日期相减DateTimePicker,界面日期相减DateTimePicker
C#开发中的DateTimePicker
jquery datetimepicker 时间日期插件,里面有demo
使用DateTimePicker程序(C#代码编写) 使用DateTimePicker QQ223857666勾月