.NET - 如何在DateTimePicker中隐藏无效选项
-
02-07-2019 - |
题
我已设置DateTimePicker的MaxDate和MinDate属性。但是,当我在运行时测试控件时,无法从有效日期中判断无效日期。唯一的区别是点击无效日期不会做任何事情。
这对用户来说不是很直观。我希望能够一目了然地了解有效日期。
有没有办法突出显示有效日期范围 - 或者更恰当地说,“暗淡”无效日期?或者,是否有另一种控制更合适?我确定有几个组合框可以工作,但我真的认为在被要求提供日期时应该向用户提供日历控件。
上下文:这是一个WinForms图表应用程序。有效数据范围是固定的(通过另一个进程添加新数据)。用户需要选择图表开始时间的日期和时间(以及持续时间,单独处理)。
解决方案
我有类似的问题。我已经扩展了DateTimePicker控件,以便在值发生变化时运行验证过程,并在发生非法选择时恢复到之前的值或最接近的合法值。
对此的逻辑扩展是闪烁警告对话框或标签以通知用户发生了这种情况。
您还可以覆盖控件的日历显示部分以突出显示/淡化无效选项 - 例如,它已突出显示当前日期和当前选择。
其他提示
我不确定是否自己没有扩展控件,而且所有者的绘图也是一种努力。
如果您无法找到后续功能,我会考虑使用ErrorProvider控件并验证用户输入作为选项。
不隶属于 StackOverflow