Winforms 2.0。在表单上粘贴DateTimePicker。它默认为今天。单击下拉箭头以显示日历,然后单击“今天”。 ValueChanged事件已发生火灾,即使它已设置为今天。
我想要做的是复制相同的功能 - 我想将它(在代码中)重置为今天,下次我通过日历点击今天我想要触发ValueChanged事件(就像它一样第一次)。
如果无法实现上述目标,我希望每当我在日历上选择日期时都会触发一些事件(无论是否有变化)。
听起来很简单,肯定有人有答案吗?
答案 0 :(得分:6)
您所看到的是DateTimePicker存储其值的 time 组件以及日期这一事实的副作用。
因此,当您的表单首次初始化时,DateTimePicker正在使用DateTime.Now进行初始化。然后,当您从其下拉日历中选择“今天”时,您将值更改为DateTime.Today。
如果您不关心时间组件和/或您总是将值读取为dateTimePicker1.Value.Date,那么您可以使用DateTime.Now在代码中初始化控件,并且当此时,ValueChanged事件将触发用户从日历中选择今天。否则,您可能会考虑捕获CloseUp事件,该事件在关闭日历控件时触发(无论值是否更改)。
答案 1 :(得分:0)
我不是一个胜利形式的程序员,但看看是否有Day_Render事件。 这应该每天开火......至少有一个基于网络的开发,但我认为它是相同的。所以寻找Render()事件。