我已将标准 VCL TDateTimePicker
-MaxDate
属性设置为Date
- 例如
DTPicker.MaxDate := Date;
但是,有一个问题。如果我现在将日期设置为当前日期:
DTPicker.Date := Date;
它不会接受它。控件只是停留在设计时设置的日期。我可以通过将 MaxDate 设置为Date + 1
然后设置Date
属性工作正常并显示今天的日期来解决它,但随后用户可以选择明天的日期。我也尝试设置MaxDate
为,Date + 0.99999999
但这也无济于事。
我使用 Delphi 2010 和 C++Builder 2010(如果这是其中任何一个的错误)。
任何想法如何防止选择今天之后的任何日期并将控制日期设置为今天的日期?
更改日期会导致 - “无法设置日历日期或时间”。
更新:
我设法使其工作如下:
- 在 TDateTimePicker 中打开下拉菜单(在运行时)并有意选择今天的日期(单击已选择的今天日期)
- 之后选择任何过去的日期
- 单击具有重置日期代码的按钮,然后它就可以工作了。
我的解决方案可能是在关闭表单之前使用范围检查,因为它似乎MaxDate
没用,至少对于这个版本的 Delphi。