同时使用错误提供程序和禁用按钮
本文关键字:程序 按钮 错误 | 更新日期: 2023-09-27 18:37:10
我喜欢来自ErrorProvider的红色感叹号,我想用它来向用户显示问题所在。我还要求,如果表单中的数据无效,则必须禁用我的"更新"按钮。我禁用/启用所有文本框的文本更改事件上的更新按钮。应从验证所有文本框的事件中使用错误提供程序。
现在的问题:在最后一个文本框中输入不正确的数据时,更新按钮仍将被禁用,但不会显示错误提供程序,因为用户尚未离开控件。在这种情况下我该怎么办?如何最大限度地减少用户的困惑,用户肯定会问"为什么禁用更新,但窗口上任何地方都没有感叹号"?
可以验证 TextChanged 事件上的最后一个文本框(或全部)。为了等待用户输入值得验证的内容,您可以:
- 等待给定的最小输入字符数之前启用对文本更改的验证,或 在 TextChanged 上
- 启动一个计时器 - 并在每个 TextChanged 事件上重新启动它 - 间隔为 3 秒,当此计时器触发时 - 并且文本框不为空 - 您可以执行验证。