DateTimePicker 在今天点击时不生成 valuechanged
DateTimePicker does not generate valuechanged when today clicked
我在 Visual Studio 2015 年开发并创建了一个针对 .NET Framework 4.5.2 的 WinForm 应用程序。
我在窗体上放置了一个 DateTimePicker 控件。我有关于 ValueChanged 事件处理程序的代码。
我在 ValueChanged 事件处理程序的第一行代码中放置了一个断点。
当我在调试器中 运行 应用程序并按下日期时间选择器中的 "today" 按钮时,它会填写今天的日期,但不会触发 ValueChanged 事件。如果我单击显示日历和 select 日期的下拉箭头,它将触发 ValueChanged 事件。
不确定我单击的元素是否称为 "today" 按钮。它就在下拉箭头的左侧,单击时会将今天的日期填充到日期时间选择器中。
我需要在用户单击此按钮和 运行 一些代码时进行捕获。
希望了解如何捕获它,因为它不会触发 ValueChanged 事件。
我建议您希望用户选择当前日期。我的意思是您应该将默认值设置为当前日期。在 ValueChanged 事件中,当用户更改日期时,您将执行您需要执行的操作。
可能是因为日期时间选择器初始化为今天的 date/time,当您点击下拉菜单时,它并没有改变它,它仍然有今天的 date/time。如果重新select今天的日期,datetime的时间部分发生了变化,触发了valueChanged事件。
有一个下拉事件可能对您有用:DropDown Event。它在显示日历时触发。
另一个事件可能是 MouseUp 事件,您必须使用 "Today" 按钮所在的位置来捕获该点击。
Here's DTP 可用的不同事件的 MSDN link。
我在 Visual Studio 2015 年开发并创建了一个针对 .NET Framework 4.5.2 的 WinForm 应用程序。
我在窗体上放置了一个 DateTimePicker 控件。我有关于 ValueChanged 事件处理程序的代码。
我在 ValueChanged 事件处理程序的第一行代码中放置了一个断点。
当我在调试器中 运行 应用程序并按下日期时间选择器中的 "today" 按钮时,它会填写今天的日期,但不会触发 ValueChanged 事件。如果我单击显示日历和 select 日期的下拉箭头,它将触发 ValueChanged 事件。
不确定我单击的元素是否称为 "today" 按钮。它就在下拉箭头的左侧,单击时会将今天的日期填充到日期时间选择器中。
我需要在用户单击此按钮和 运行 一些代码时进行捕获。
希望了解如何捕获它,因为它不会触发 ValueChanged 事件。
我建议您希望用户选择当前日期。我的意思是您应该将默认值设置为当前日期。在 ValueChanged 事件中,当用户更改日期时,您将执行您需要执行的操作。
可能是因为日期时间选择器初始化为今天的 date/time,当您点击下拉菜单时,它并没有改变它,它仍然有今天的 date/time。如果重新select今天的日期,datetime的时间部分发生了变化,触发了valueChanged事件。
有一个下拉事件可能对您有用:DropDown Event。它在显示日历时触发。
另一个事件可能是 MouseUp 事件,您必须使用 "Today" 按钮所在的位置来捕获该点击。
Here's DTP 可用的不同事件的 MSDN link。