我已经设置了 DateTimePicker 的 MaxDate 和 MinDate 属性。但是,当我在运行时测试控件时,无法区分无效日期和有效日期。唯一的区别是点击无效日期不会执行任何操作。
这对用户来说不是很直观。我希望一眼就能看出有效日期是什么。
有什么方法可以突出显示有效日期范围 - 或者更恰本地说,“淡化”无效日期?或者,还有其他更合适的控件吗?我确信几个组合框可以工作,但我真的认为应该在询问日期时向用户显示日历控件。
上下文:这是一个 WinForms 图表应用程序。有效数据的范围是固定的(新数据是通过另一个进程添加的)。用户需要为图表的开始时间选择日期和时间(以及持续时间,这是单独处理的)。
最佳答案
我也有类似的问题。我扩展了 DateTimePicker 控件,以便在值更改时运行验证过程,并在出现非法选择时恢复到先前的值或最近的合法值。
对此的逻辑扩展是弹出一个警告对话框或标签来通知用户这已经发生了。
您还可以覆盖控件的日历显示部分以高亮/低亮显示无效选项 - 例如,它已经高亮显示当前日期和当前选择。
关于c# - .NET - 如何隐藏 DateTimePicker 中的无效选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/133690/