代码之家  ›  专栏  ›  技术社区  ›  Chris Lawlor

.NET-如何隐藏DateTimePicker中的无效选择

  •  2
  • Chris Lawlor  · 技术社区  · 17 年前

    我已经设置了DateTimePicker的MaxDate和MinDate属性。但是,当我在运行时测试控件时,无法将无效日期与有效日期区分开来。唯一的区别是点击一个无效的日期什么都不做。

    这对用户来说不是很直观。我想一眼就能知道有效日期是什么。

    是否有任何方法可以突出显示有效日期范围,或者更恰当地“模糊”无效日期?或者,是否还有其他更合适的控制?我肯定有几个组合框可以使用,但我真的认为当用户要求日期时,应该向他提供一个日历控件。

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

    2 回复  |  直到 17 年前
        1
  •  1
  •   Unsliced    17 年前

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

    其逻辑扩展是刷新一个警告对话框或标签,通知用户已经发生了这种情况。

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

        2
  •  0
  •   Jim Burger    17 年前

    我不确定,如果没有扩展自己的控制,以及业主的图纸,这将是一项努力。

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