在日期控件上设置MinDate以限制选择,但需要在选择后保留该值

时间:2014-01-23 22:20:51

标签: c# datepicker

我有一个表单,我有一个日期时间编辑器。我不希望用户能够在今天之前在日期时间编辑器上选择日期,因此我将MinDate设置为Date.Now.Date。选择日期后,日期时间选择器将被禁用。

我遇到的问题是,一旦选定的日期过去,日期时间编辑器仍然会强制执行MinDate,并将日期默认为“今天”。

实施例

  1. 2014年1月1日,用户将控件上的日期设置为2014年1月22日( 日期控制被禁用,阻止用户进行更改 再一次)。
  2. 之后日期显示正常。
  3. 快进到今天(2014年1月23日),日期控件现在显示 2014年1月23日,因为显示2014年1月22日将违反日期控制 MinDate设置为“今天”。
  4. 由于日期字段永远不会再次编辑,我考虑了选择日期后删除MinDate的解决方法,但这似乎不是最佳解决方案。

    TL; DR在日期控制上设置MinDate以强制执行业务逻辑,但是一旦MinDate超过所选日期,使用MinDate进行日期控制将不允许日期继续显示为历史信息。

    有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无法将日期时间控件设置为小于最小值。