【问题标题】:check if value is entered for datetimepicker?检查是否为 datetimepicker 输入了值?
【发布时间】:2010-11-29 04:55:36
【问题描述】:

如何验证是否在 datetimepicker 控件中选择了一个值。

控件绑定到绑定导航器,所以当单击保存按钮时,我想确保选择了日期?

【问题讨论】:

    标签: c# winforms visual-studio-2008 .net-3.5


    【解决方案1】:

    监听ValueChanged 事件,然后在其中设置一个布尔标志。

    【讨论】:

      【解决方案2】:

      我宁愿验证该值是否有意义(从您的系统的角度来看),而不是是否实际输入。

      【讨论】:

        【解决方案3】:

        最简单的方法是创建一个 BindingNagivator 的子类,它允许您订阅 Validating 事件并处理您的验证,防止移动。

        this forum post (ValidatingBindingNavigator) 中展示了一个简单的实现。

        这允许您在允许更改移动或保存之前进行验证。

        【讨论】:

        • 除非验证为真,否则这是否还会阻止 (+) add new 创建新记录(在表单上)?
        • 是的。它会覆盖任何按钮按下,因为它使用 WndProc 来处理左键按下。基本上,除非未取消验证,否则所有按钮都不起作用。这是处理它的简单方法。 (同一篇文章中还有其他替代方法,但它们显示禁用按钮,这需要更多工作)。
        • 好酷。目标是将此与错误提供程序结合使用,因此如果用户忘记输入字段或输入有效数据然后单击保存或新建,则错误将显示在相关控件旁边。我将尝试实现这一点并返回结果。谢谢
        • 那么这应该很好用。这将阻止用户移动 - 如果 this.Errors.Count > 0 或 this.Error != string.Empty. 则取消验证
        猜你喜欢
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 2013-07-25
        • 2012-05-10
        • 2015-10-24
        • 2021-09-29
        • 2018-05-26
        • 1970-01-01
        相关资源
        最近更新 更多