求助:VB.NET中关于Validating和Validated的区别问题
本人最近学习VB.NET,当看到textbox文本框Validating和Validated这两个事件时,有点懵了,首先,这个两个的我是理解的,Validating验证事件在控件具有焦点,以及从该控件移动到Causesvalidation=true的另一个控件时发生。而Validated事件则在焦点成功离开控件后激活。我感觉这两个事件在效果上来说没什么区别,说区别的话就是激发先后顺序的问题,而且是紧跟的,但是这两个事件的功能我个人好像感觉没什么两样,我想听听各位高手是怎么看这两个验证事件的。大家一般是在什么情况下酌情选择这两个事件中的一个的。
下面我简单编了一个例子,分别是两个文本框,一个使用Validating事件,另一个使用Validated事件分别对文本框内输入的内容是否在数字进行验证。运行后两个文本框验证的效果都是一样的:
----------------------------------------------------------------------------------------------------------
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If IsNumeric(TextBox1.Text) Then
Else
MsgBox("输入的不是数字")
End If
End Sub
----------------------------------------------------------------------------------------------------------
Private Sub TextBox2_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Validated
If IsNumeric(TextBox1.Text) Then
Else
MsgBox("输入的不是数字")
End If
End Sub