Winform的DateTimePicker控件ValueChanged事件的一个bug

Bug出现的操作步骤:

1. 给DateTimePicker的MaxDate设置一个小于今天的值

2. 再给DataTimePicker赋一个小于MaxDate的值(在代码里给Value赋值、在界面上用日历选择其他值、或者文本框输入其他日期,都可以)

3. 点击DateTimePicker后面的日历下拉按钮弹出日历

 

此时,DateTimePicker的ValueChanged事件会连续跑两次,每次点击下拉日历都会弹出,即便不再修改Value,每次点击下拉日历时,ValueChanged都会跑两次

且,两次ValueChanged事件执行时,读取到的这个控件的Value是不同的

假设,今天是10月1日,MaxDate是9月30日,给Value赋值9月29日

第一次ValueChanged事件,读取的Value是MaxDate,是9月30日

第二次ValueChanged事件,读取的Value是当前设定值,是9月29日

 

至于解决方法,得根据业务的实际情况了

posted @ 2020-11-02 13:37  jlsinze  阅读(1300)  评论(0)    收藏  举报