5

在 Visual Studio C# 中,何时将“Validated”或“Validating”事件用于表单上的文本框,而不仅仅是编写 try-catch 语句?

4

1 回答 1

6

当您通过使用键盘(TAB、SHIFT+TAB 等)、调用 Select 或 SelectNextControl 方法或将 ContainerControl.ActiveControl 属性设置为当前窗体来更改焦点时,焦点事件按以下顺序发生:

  • 进入
  • 获得焦点
  • 离开
  • 证实
  • 已验证
  • 失去焦点

当您使用鼠标或调用 Focus 方法更改焦点时,焦点事件按以下顺序发生:

  • 进入
  • 获得焦点
  • 失去焦点
  • 离开
  • 证实
  • 已验证

如果 CausesValidation 属性设置为 false,则会抑制 Validating 和 Validated 事件。

我为你注意到了这一点,因为它们的顺序不同......仅供参考......

无论如何...然后您将在验证/验证事件处理程序中使用 try catch 以确保不会向屏幕抛出异常并设置消息等。

希望这有助于解决问题?

马修

于 2012-10-06T19:45:35.307 回答