2

我已经设置了 DateTimePicker 的 MaxDate 和 MinDate 属性。但是,当我在运行时测试控件时,无法区分无效日期和有效日期。唯一的区别是单击无效日期不会执行任何操作。

这对用户来说不是很直观。我希望能够一眼看出有效日期是什么。

有什么方法可以突出显示有效日期范围 - 或者更恰当地说,“暗淡”无效日期?或者,是否有另一个更合适的控制?我确信几个组合框会起作用,但我真的认为当被要求输入日期时,应该向用户展示一个日历控件。

上下文:这是一个 WinForms 图表应用程序。有效数据的范围是固定的(新数据是通过另一个进程添加的)。用户需要为图表的开始时间选择日期和时间(以及持续时间,单独处理)。

4

2 回答 2

1

我有一个类似的问题。我扩展了 DateTimePicker 控件,以便在值更改时运行验证过程,并在发生非法选择时恢复到以前的值或最接近的合法值。

对此的逻辑扩展是闪现一个警告对话框或标签以通知用户这已经发生。

您还可以覆盖控件的日历显示部分以突出显示/降低无效选项 - 例如,它已经突出显示当前日期和当前选择。

于 2008-09-25T14:59:08.900 回答
0

我不确定是否有自己没有扩展控制权,并且所有者绘制这将是一种努力。

如果您找不到您想要的功能,我会考虑使用 ErrorProvider 控件并验证用户输入作为一个选项。

于 2008-09-25T14:40:04.797 回答