首页 > 代码库 > 关于System.Windows.Forms.DateTimePicker的一个Bug

关于System.Windows.Forms.DateTimePicker的一个Bug

今天接到客户的反馈,说他们的系统无法查询2017年2月份的账单,原因是没办法选择2017年2月份,没办法选择2月份???,马上开启vs,运行系统,应为是去年的系统,测试数据也是去年的,就查询了2016年2月份的数据,一切OK啊。

就让客户远程,操作给我看,我就不信邪了,一远程还真是的,一月份和三月份的都可以选择和输入,唯独2月份,不管是手动输入还是选择输入,就是失败,见鬼了。断开远程本地试了下,真的输入失败。

折腾了一个上午,就是没发现任何问题,难道见鬼了?直接度娘,看看2017年2月份是不是真的闹鬼了,29天?不是28天?穿越了还是度娘发疯了?不错就是29天。哎,估计微软也没有想到2月份28天的真理被打破了。

 

技术分享

我用的是.Net4.0,DateTimePicker配置是自定义的,yyyy年MM月,ShowUpDown=true

技术分享

然后报着试一下的心情,试了下将格式设置为yyyy年MM月dd日,发现2月份时间输入没问题,

将ShowUpDown设置为false,2月份时间输入也没问题,

将ShowUpDown设置为true,格式设置为yyyy年MM月,2月份输入和选择页没问题

看来只有将ShowUpDown设置为false,格式设置为yyyy年MM月的时候会出现2月份选择不了的情况了。

解决办法是把自定义显示设置为yyyy年MM月dd日,然后把控件缩短,让客户只看到年月部分。

不知道还有其他的解决办法不?希望知道的告诉下。

关于System.Windows.Forms.DateTimePicker的一个Bug