Occurs when the control is validating.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
When you change the focus by using the keyboard (TAB, SHIFT+TAB, and so on), by calling the Selector SelectNextControl methods, or by setting the ContainerControl.ActiveControl property to the current form, focus events occur in the following order:
When you change the focus by using the mouse or by calling the Focus method, focus events occur in the following order:
Do not attempt to set focus from within the Enter, GotFocus, Leave, LostFocus, , or Validated event handlers. Doing so can cause your application or the operating system to stop responding. For more information, see the WM_KILLFOCUS topic in the "Keyboard Input Reference" section, and the "Message Deadlocks" section of the "About Messages and Message Queues" topic in the MSDN library at http://msdn.microsoft.com/library.
For more information about handling events, see Handling and Raising Events.
The following code example uses the derived class TextBox and validates an e-mail address that the user enters. If the e-mail address is not in the standard format (containing "@" and "."), the validation fails, an ErrorProvider icon is displayed, and the event is canceled. This example requires that a TextBox and ErrorProvider control have been created on a form.
Private Function ValidEmailAddress(ByVal emailAddress As String, ByRef errorMessage As String) As Boolean ' Confirm there is text in the control. If textBox1.Text.Length = 0 Then errorMessage = "E-mail address is required." Return False End If ' Confirm that there is an "@" and a "." in the e-mail address, and in the correct order. If emailAddress.IndexOf("@") > -1 Then If (emailAddress.IndexOf(".", emailAddress.IndexOf("@")) > emailAddress.IndexOf("@")) Then errorMessage = "" Return True End If End If errorMessage = "E-mail address must be valid e-mail address format." + ControlChars.Cr + _ "For example 'email@example.com' " Return False End Function Private Sub textBox1_Validating(ByVal sender As Object, _ ByVal e As System.ComponentModel.CancelEventArgs) Handles textBox1.Validating Dim errorMsg As String If Not ValidEmailAddress(textBox1.Text, errorMsg) Then ' Cancel the event and select the text to be corrected by the user. e.Cancel = True textBox1.Select(0, textBox1.Text.Length) ' Set the ErrorProvider error with the text to display. Me.errorProvider1.SetError(textBox1, errorMsg) End If End Sub Private Sub textBox1_Validated(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles textBox1.Validated ' If all conditions have been met, clear the error provider of errors. errorProvider1.SetError(textBox1, "") End Sub
Available since 1.1