我正在使用 VS2013 在 c# 中编写一个桌面应用程序。在我看来,我遇到了一个没有必要产生的荒谬错误。我以这种方式在代码中的某处设置了 DateTimePicker 的 MinDate 和 MaxDate 属性:
DateTime minDate = DateTime.Parse(...);
DateTime maxDate = DateTime.Parse(...);
...
if (maxDate < dtpManuelFirst.MinDate)
{
dtpManuelFirst.MinDate = minDate;
dtpManuelFirst.MaxDate = maxDate;
}
else
{
if (minDate > dtpManuelFirst.MaxDate)
{
dtpManuelFirst.MaxDate = maxDate;
dtpManuelFirst.MinDate = minDate;
}
else
{
dtpManuelFirst.MinDate = minDate;
dtpManuelFirst.MaxDate = maxDate;
}
}
最初我知道 minDate 值总是小于 maxDate 值。当 minDate 像第二个 if 条件一样大于 dtpManuelFirst.MaxDate 时,它会毫无问题地更新 MaxDate 属性,而我得到错误“值对 MinDate 无效。MinDate 必须小于 MaxDate。” 关于更新 MinDate 属性。这很荒谬,因为我已经在检查这些条件。此外,当我在调试模式下检查时,这些值不支持该错误。任何帮助都会很棒!