0

我喜欢 ErrorProvider 的红色感叹号,我想用它来向用户展示问题所在。如果表单中的数据无效,我还要求必须禁用我的更新按钮。我禁用/启用所有文本框的 TextChanged 事件上的更新按钮。应从验证所有文本框的事件中使用 ErrorProvider。

现在的问题是:在最后一个文本框中输入错误数据时,更新按钮仍将被禁用,但由于用户尚未离开控件,因此不会显示 ErrorProvider。在这种情况下我能做什么?如何最大程度地减少用户的困惑,他们肯定会问“为什么禁用更新,但窗口上的任何地方都没有感叹号”?

4

1 回答 1

1

您可以验证 TextChanged 事件上的最后一个文本框(或全部)。为了等待用户输入值得验证的内容,您可以:

  1. 在对 TextChanged 启用验证之前等待给定的最少输入字符数,或者
  2. 在 TextChanged 上启动一个计时器 - 并在每个 TextChanged 事件上重新启动它 - 间隔为 3 秒,当此计时器触发时 - 并且文本框不为空 - 您可以进行验证。
于 2012-06-13T22:53:17.760 回答