Control.Validated 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컨트롤의 유효성 검사가 완료되면 발생합니다.
public:
event EventHandler ^ Validated;
public event EventHandler Validated;
public event EventHandler? Validated;
member this.Validated : EventHandler
Public Custom Event Validated As EventHandler
이벤트 유형
예제
다음 코드 예제에서는 파생 클래스 TextBox 를 사용 하 고 사용자가 입력 하는 전자 메일 주소의 유효성을 검사 합니다. 전자 메일 주소가 표준 형식("@" 및 "."포함)이 아닌 경우 유효성 검사가 실패 ErrorProvider 하고 아이콘이 표시되고 이벤트가 취소됩니다. 이 예제에서는 폼에 a TextBox 및 ErrorProvider 컨트롤을 만들어야 합니다.
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 하여 포커스를 변경하는 경우 포커스 이벤트는 다음 순서대로 발생합니다.
마우스를 사용하거나 메서드를 호출하여 포커스를 Focus 변경하는 경우 포커스 이벤트는 다음 순서대로 발생합니다.
속성이 CausesValidation 설정된 falseValidating 경우 이벤트 및 Validated 이벤트가 표시되지 않습니다.
Cancel 이벤트 대리자 CancelEventArgs 에서 true 속성이 설정된 Validating 경우 일반적으로 이벤트가 표시되지 않은 후에 Validating 발생하는 모든 이벤트가 표시됩니다.
주의
, GotFocus, Leave, ValidatingLostFocus또는 Validated 이벤트 처리기 내에서 포커스를 Enter설정하지 마세요. 이렇게 하면 애플리케이션 또는 운영 체제의 응답이 중지될 수 있습니다. 자세한 내용은 WM_KILLFOCUS 항목 및 메시지 및 메시지 큐 정보 항목의 "메시지 교착 상태" 섹션을 참조하세요.
이벤트 처리에 대한 자세한 내용은 이벤트 처리 및 발생시키기를 참조하십시오.