我正在使用Visual Studio 2015进行开发,并创建了一个面向.NET Framework 4.5.2的WinForm应用程序。
我在表单上放置了一个DateTimePicker控件。我在ValueChanged事件处理程序上有代码。
我在ValueChanged事件处理程序的第一行代码上放了一个断点。
当我在调试器中运行应用程序并按下"今天" datetimepicker中的按钮,它填写今天的日期,但不会触发ValueChanged事件。如果我单击显示日历并选择日期的下拉箭头,它将触发ValueChanged事件。
不确定我点击的元素是否被称为"今天"按钮。它只是下拉箭头的左侧,当点击时将今天的日期填入datetimepicker。
我需要在用户点击它并运行一些代码时捕获。
如果没有触发ValueChanged事件,那么会对如何捕获它表示赞赏和想法。
答案 0 :(得分:1)
因为日期时间选择器可以使用今天的日期/时间进行初始化,当您只是点击下拉菜单时,它不会改变它,它仍然具有今天的日期/时间。如果您重新选择今天的日期,则日期时间的时间部分已更改,从而触发valueChanged事件。
有一个dropDown事件可能对您有用:DropDown Event。它会在显示日历时触发。
另一个事件可能是MouseUp事件,您必须使用“今日”按钮所在的位置来捕获该点击。
Here's DTP可用的不同事件的MSDN链接。
答案 1 :(得分:0)
我建议您希望用户选择当前日期。我的意思是你应该将默认值设置为当前日期。在ValueChanged事件中,您可以完成用户更改日期时所需要执行的操作。