7

在为 VB .NET 文本框编写验证逻辑时,最好使用哪个事件处理程序:Validating还是Leave

据我了解,它们都是同时发生的。但是,根据这篇文章:MSDN: Control.Leave Event,Leave 事件发生在验证事件之前。这最初会让我觉得我宁愿使用 Leave 事件,因为它首先发生。

但是,为了代码可读性,将所有验证代码放在 Validating 事件中是有意义的。

那么,就效率和行业标准而言,哪个是更好的选择?

4

2 回答 2

9

您应该始终使用 Validating 事件,它是为了支持验证而设计的。如果不阻止焦点更改,那么至少对于 CausesValidation 属性。您在对话框的“取消”按钮上设置为 False。当用户决定关闭对话框时,验证任何内容都没有意义。

于 2012-11-15T21:50:38.310 回答
2

Validating事件是为验证而设计的。如果文本无效,设置 e.Cancel = True,焦点停留在文本框上。Leave只是一个通知。

于 2012-11-15T21:42:15.360 回答