C#中将dateTimePicker初始值设置为空

最近在做一个小项目,有一个功能是根据用户选择条件查询数据,要求时间控件的默认值为空,只有当用户修改了时间,才根据时间查询。简单的说,就是默认或者点击清空按钮的情况下,时间控件dateTimePicker的值为空,当触发事件ValueChanged时再显示相对应的时间。

开始,我以为修改控件的默认值为空就可以了,但是我失败了,dateTimePicker不允许空值。尝试了很多次之后我开始在网上找资料,寻到了如下方法:

窗体初始化或者放一个清空按钮,点击清空按钮时执行如下代码:

C#代码 :

this. dateTimePicker1.Format = DateTimePickerFormat.Custom;
this. dateTimePicker2.CustomFormat = "";

然后在DateTimePicker控件的事件 dtp_firsttime_ValueChanged中执行如下代码:

C#代码:

 this. dateTimePicker1.Format = DateTimePickerFormat.Long;
 this. dateTimePicker1.CustomFormat = null;

这样做确实能让控件dateTimePicker1的初始值为空,但是存在一个bug,那就是第一次选择时间时,如果选择的恰好是默认的时间,那么将无法触发事件dtp_firsttime_ValueChanged ,即dateTimePicker1的值依然为空。这个问题很棘手,查阅很多资料无果之后继续细细研究dateTimePicker,发现了这样一个属性:Checked——当ShowSelectBox为true时,确定是否选中复选框,以指示用户已经选择了某个值。于是,我在窗体初始化或点击清空按钮的代码中更改了属性Checked的值,即添加如下代码:

C#代码:

this.dtp_firsttime.Checked = false;

这样bug便解决了。

出处:http://1454396751.iteye.com/blog/2276801

时间: 2024-10-12 23:39:37

C#中将dateTimePicker初始值设置为空的相关文章

CSAPP读书随笔之一:为什么汇编器会将call指令中的引用的初始值设置为-4

CSAPP,即<深入理解计算机系统:程序员视角>第三版,是一本好书,但读起来确需要具备相当的基本功.而且,有的表述(中译文)还不太直白. 比如,第463页提到,(对于32位系统)为什么汇编器会将call指令中的引用的初始值设置为-4.其后解释语焉不详.结合文中对代码计算公式的展开: *refptr = (unsigned) (ADDR(r.symbol) + *refptr - refaddr) = (unsigned) (0x80483c8        + (-4)     - 0x804

Access自动编号的初始值设置及重置编号

项目上需要在Access数据库,发现自动编号的列无法设置初始值和步长,但是可以使用SQL语句来设置它. 方法如下: ALTER TABLE tableName ALTER COLUMN ID COUNTER (1, 5) 其中: tableName为要修改的表名,ID为自动编号列,1为初始值,5为步长.

集合对象容量初始值设置

ArrayList:-------------------------------------明确知道容量:直接设置初始容量,如new ArrayList<>(100)无法确定容量:预估一个比较接近的值,如果实在不确定,则无需指定初始值 (有默认值) HashMap-------------------------------------HashMap的默认加载因子为0.75,但可以使用构造器指定,如new HashMap<>(100, 1),此时指定加载因子为1故计算HashMa

element-ui InputNumber 计数器默认值设置为空

一般默认值都是这样: 要想显示为空,则设置 v-model 的值为 undefined !! 原文地址:https://www.cnblogs.com/zhangym118/p/12588807.html

Vue中用props给data赋初始值遇到的问题解决

Vue中用props给data赋初始值遇到的问题解决 更新时间:2018年11月27日 10:09:14   作者:yuyongyu    我要评论 这篇文章主要介绍了Vue中用props给data赋初始值遇到的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 前言 前段时间做一个运营活动的项目,上线后产品反馈页面埋点不对,在排查过程中发现,问题竟然是由于Vue中的data初始值导致,而data的初始值来自于props.为方便描述,现将问题抽象如下: 一.现象

[SAP ABAP开发技术总结]初始值、空、NULL、INITIAL等问题

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 20.17.       表字段初始值.NULL等问题... 249 20.17.1.            SE11表设置中的Initial Values. 249 20.17.2.            底层数据库表字段默认值... 249 20.17.3.            ABAP初始值.底层数据库表默认值相互转换... 250 20.17.3.1.     

keras embeding设置初始值的两种方式

随机初始化Embedding from keras.models import Sequential from keras.layers import Embedding import numpy as np model = Sequential() model.add(Embedding(1000, 64, input_length=10)) # the model will take as input an integer matrix of size (batch, input_lengt

Linux root设置初始值的方法

Linux root设置初始值的方法 ubuntu默认不允许使用root登录,因此初始root账户是不能使用的,需要在普通账户下利用sudo权限修改root密码. 在终端输入sudo passwd root,按回车,然后系统会提示你输入普通用户的密码(终端输入的密码都是不显示的). 输入后,按回车,然后重复输入两次新的root密码即可激活root用户. 首先登录普通用户,输入下面命令>>> ~$ sudo passwd root [sudo] passwd for you:******(

vue 设置初始值 为null 进行文字长度判断

今天上午我突然有bug.新创建的分组不能保存了,结果你猜怎么着vue 设置初始值 为null 进行文字长度判断.啊呀教训啊 我当时就把它们几个赋值null 了,结果我还在下面判断文字长度.哈哈真是觉得好蠢啊. 希望本篇能给你,帮助我是金陵彭于晏,我们下期再见. 原文地址:https://www.cnblogs.com/lq2333/p/11840257.html