.NET-如何在DateTimePicker中隐藏无效选择
时间:2020-03-06 14:43:26 来源:igfitidea点击:
我已经设置了DateTimePicker的MaxDate和MinDate属性。但是,当我在运行时测试控件时,无法从有效日期中分辨出无效日期。唯一的区别是,单击无效的日期不会执行任何操作。
这对于用户来说不是很直观。我希望能够一目了然地知道有效日期是什么。
有什么方法可以突出显示有效日期范围,或者更恰当地"模糊"无效日期吗?或者,是否还有另一个更合适的控制措施?我确定几个组合框都可以使用,但是我确实认为当要求用户输入日期时,应该向用户显示日历控件。
上下文:这是一个WinForms图表应用程序。有效数据的范围是固定的(通过其他过程添加了新数据)。用户需要为图表的开始时间(以及持续时间,分别处理)选择日期和时间。
解决方案
我不确定自己是否要扩展控件以及所有者图纸,这会很费力。
如果我们找不到所需的功能,则可以考虑使用ErrorProvider控件并验证用户输入是否为选项。
我有一个类似的问题。我扩展了DateTimePicker控件,以在值更改时运行验证过程,并在发生非法选择时恢复到先前的值或者最接近的合法值。
对此的逻辑扩展是弹出警告对话框或者标签,以通知用户这已发生。
例如,我们还可以覆盖控件的日历显示部分,以突出显示/突出显示已经突出显示当前日期和当前选择的无效选项。