Control.Validated Control.Validated Control.Validated Control.Validated Event

정의

컨트롤의 유효성 검사가 완료되면 발생합니다.Occurs when the control is finished validating.

public:
 event EventHandler ^ Validated;
public event EventHandler Validated;
member this.Validated : EventHandler 
Public Custom Event Validated As EventHandler 

예제

다음 코드 예제에서는 파생된 클래스인 TextBox 전자 메일 주소는 사용자가 입력의 유효성을 검사 합니다.The following code example uses the derived class TextBox and validates an email address that the user enters. 전자 메일 주소 형식이 없는 경우 (포함 된 "@" and "."), 유효성 검사에 실패를 ErrorProvider 아이콘이 표시 되며, 이벤트가 취소 되 고 합니다.If the email address is not in the standard format (containing "@" and "."), the validation fails, an ErrorProvider icon is displayed, and the event is canceled. 이 예제에서는 한 TextBoxErrorProvider 폼에 컨트롤을 만들었습니다.This example requires that a TextBox and ErrorProvider control have been created on a form.

private:
   void textBox1_Validating( Object^ sender, System::ComponentModel::CancelEventArgs^ e )
   {
      String^ errorMsg;
      if ( !ValidEmailAddress( textBox1->Text, &errorMsg ) )
      {
         // 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.
         this->errorProvider1->SetError( textBox1, errorMsg );
      }
   }

   void textBox1_Validated( Object^ sender, System::EventArgs^ e )
   {
      // If all conditions have been met, clear the ErrorProvider of errors.
      errorProvider1->SetError( textBox1, "" );
   }

public:
   bool ValidEmailAddress( String^ emailAddress, [Out]interior_ptr<String^> errorMessage )
   {
      // Confirm that the email address String* is not empty.
      if ( emailAddress->Length == 0 )
      {
         *errorMessage = "email address is required.";
         return false;
      }

      // Confirm that there is an "@" and a "." in the email address, and in the correct order.
      if ( emailAddress->IndexOf( "@" ) > -1 )
      {
         if ( emailAddress->IndexOf( ".", emailAddress->IndexOf( "@" ) ) > emailAddress->IndexOf( "@" ) )
         {
            *errorMessage = "";
            return true;
         }
      }

      *errorMessage = "email address must be valid email address format.\n" +
         "For example 'someone@example.com' ";
      return false;
   }
private void textBox1_Validating(object sender, 
                System.ComponentModel.CancelEventArgs e)
{
   string errorMsg;
   if(!ValidEmailAddress(textBox1.Text, out errorMsg))
   {
      // 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. 
      this.errorProvider1.SetError(textBox1, errorMsg);
   }
}

private void textBox1_Validated(object sender, System.EventArgs e)
{
   // If all conditions have been met, clear the ErrorProvider of errors.
   errorProvider1.SetError(textBox1, "");
}
public bool ValidEmailAddress(string emailAddress, out string errorMessage)
{
   // Confirm that the email address string is not empty.
   if(emailAddress.Length == 0)
   {
      errorMessage = "email address is required.";
         return false;
   }

   // Confirm that there is an "@" and a "." in the email address, and in the correct order.
   if(emailAddress.IndexOf("@") > -1)
   {
      if(emailAddress.IndexOf(".", emailAddress.IndexOf("@") ) > emailAddress.IndexOf("@") )
      {
         errorMessage = "";
         return true;
      }
   }
   
   errorMessage = "email address must be valid email address format.\n" +
      "For example 'someone@example.com' ";
      return false;
}
   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 = "Email address is required."
         Return False

      End If

      ' Confirm that there is an "@" and a "." in the email 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 = "Email address must be valid email address format." + ControlChars.Cr + _
        "For example 'someone@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

설명

호출 하 여 키보드 (TAB, SHIFT + TAB 등)를 사용 하 여 포커스를 변경 하면 합니다 Select 또는 SelectNextControl 메서드를 설정 하거나를 ContainerControl.ActiveControl 속성을 현재 폼에 포커스 이벤트가 다음 순서 대로 발생:When you change the focus by using the keyboard (TAB, SHIFT+TAB, and so on), by calling the Select or SelectNextControl methods, or by setting the ContainerControl.ActiveControl property to the current form, focus events occur in the following order:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

마우스를 사용 하 여 또는 호출 하 여 포커스를 변경 하면를 Focus 메서드 포커스 이벤트가 다음 순서 대로 발생 합니다.When you change the focus by using the mouse or by calling the Focus method, focus events occur in the following order:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

경우는 CausesValidation 속성이 falseValidatingValidated 이벤트는 표시 되지 않습니다.If the CausesValidation property is set to false, the Validating and Validated events are suppressed.

경우는 Cancel 의 속성을 CancelEventArgs 로 설정 되어 trueValidating 이벤트 대리자, 후 일반적으로 발생 하는 모든 이벤트는 Validating 이벤트는 표시 되지 않습니다.If the Cancel property of the CancelEventArgs is set to true in the Validating event delegate, all events that would usually occur after the Validating event are suppressed.

주의

내에서 포커스를 설정 하지 마십시오는 Enter, GotFocus, Leave, LostFocusValidating, 또는 Validated 이벤트 처리기입니다.Do not attempt to set focus from within the Enter, GotFocus, Leave, LostFocus, Validating, or Validated event handlers. 이렇게 하면 애플리케이션 또는 운영 체제 응답 하지 발생할 수 있습니다.Doing so can cause your application or the operating system to stop responding. 자세한 내용은 참조 하세요.는 WM_KILLFOCUS 항목과의 "메시지 교착 상태" 섹션에는 에 대 한 메시지와 메시지 큐 항목입니다.For more information, see the WM_KILLFOCUS topic, and the "Message Deadlocks" section of the About Messages and Message Queues topic.

이벤트 처리에 대한 자세한 내용은 이벤트 처리 및 발생 을 참조하십시오.For more information about handling events, see Handling and Raising Events.

적용 대상

추가 정보