Control.Enter 이벤트

정의

컨트롤이 입력되면 발생합니다.Occurs when the control is entered.

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

예제

다음 코드 예제에서는 Enter 이벤트를 사용 하 여 특정 조건에서 TextBox의 전경색 및 배경색을 변경 합니다.The following code example uses the Enter event to change the foreground and background colors of a TextBox under particular conditions.

private:
   void textBox1_Enter( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // If the TextBox contains text, change its foreground and background colors.
      if ( textBox1->Text != String::Empty )
      {
         textBox1->ForeColor = Color::Red;
         textBox1->BackColor = Color::Black;

         // Move the selection pointer to the end of the text of the control.
         textBox1->Select(textBox1->Text->Length,0);
      }
   }

   void textBox1_Leave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Reset the colors and selection of the TextBox after focus is lost.
      textBox1->ForeColor = Color::Black;
      textBox1->BackColor = Color::White;
      textBox1->Select(0,0);
   }
private void textBox1_Enter(object sender, System.EventArgs e)
{
    // If the TextBox contains text, change its foreground and background colors.
    if (!string.IsNullOrEmpty(textBox1.Text))
    {
        textBox1.ForeColor = Color.Red;
        textBox1.BackColor = Color.Black;
        // Move the selection pointer to the end of the text of the control.
        textBox1.Select(textBox1.Text.Length, 0);
    }
}

private void textBox1_Leave(object sender, System.EventArgs e)
{
    // Reset the colors and selection of the TextBox after focus is lost.
    textBox1.ForeColor = Color.Black;
    textBox1.BackColor = Color.White;
    textBox1.Select(0,0);
}
    Private Sub textBox1_Enter(sender As Object, e As System.EventArgs) Handles textBox1.Enter
        ' If the TextBox contains text, change its foreground and background colors.
        If textBox1.Text <> [String].Empty Then
            textBox1.ForeColor = Color.Red
            textBox1.BackColor = Color.Black
            ' Move the selection pointer to the end of the text of the control.
            textBox1.Select(textBox1.Text.Length, 0)
        End If
    End Sub
   
   
    Private Sub textBox1_Leave(sender As Object, e As System.EventArgs) Handles textBox1.Leave
        ' Reset the colors and selection of the TextBox after focus is lost.
        textBox1.ForeColor = Color.Black
        textBox1.BackColor = Color.White
        textBox1.Select(0, 0)
    End Sub
End Class

설명

호출 하 여 키보드 (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.

참고

EnterLeave 이벤트는 Form 클래스에 의해 억제 됩니다.The Enter and Leave events are suppressed by the Form class. Form 클래스의 동일한 이벤트는 ActivatedDeactivate 이벤트입니다.The equivalent events in the Form class are the Activated and Deactivate events. EnterLeave 이벤트는 계층적 이며 적절 한 컨트롤에 도달할 때까지 부모 체인의 위쪽 및 아래쪽에 계단식으로 배열 됩니다.The Enter and Leave events are hierarchical and will cascade up and down the parent chain until the appropriate control is reached. 예를 들어 두 개의 GroupBox 컨트롤을 포함 하는 Form이 있고 각 GroupBox 컨트롤에 TextBox 컨트롤이 하나씩 있다고 가정 합니다.For example, assume you have a Form with two GroupBox controls, and each GroupBox control has one TextBox control. 캐럿이 한 TextBox에서 다른 위치로 이동 하는 경우 TextBoxGroupBox에 대해 Leave 이벤트가 발생 하 고, 다른 EnterGroupBox에 대해 TextBox이벤트가 발생 합니다.When the caret is moved from one TextBox to the other, the Leave event is raised for the TextBox and GroupBox, and the Enter event is raised for the other GroupBox and TextBox.

주의

Enter, GotFocus, Leave, LostFocus, Validating또는 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 in the "Keyboard Input Reference" section and the "Message Deadlocks" section of the About Messages and Message Queues topic.

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

적용 대상

추가 정보