Control.Enter Zdarzenie

Definicja

Występuje po otwarciu formantu.Occurs when the control is entered.

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

Przykłady

Poniższy przykład kodu używa zdarzenia Enter, aby zmienić kolor pierwszego planu i tła TextBox w określonych warunkach.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

Uwagi

Gdy zmienisz fokus przy użyciu klawiatury (TAB, SHIFT + TAB itd.), wywołując metody Select lub SelectNextControl lub ustawiając właściwość ContainerControl.ActiveControl na bieżącą formę, zdarzenia fokusu zachodzą w następującej kolejności: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

Gdy zmienisz fokus przy użyciu myszy lub wywołując metodę Focus, zdarzenia fokusu zachodzą w następującej kolejności: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

Jeśli właściwość CausesValidation jest ustawiona na false, zdarzenia Validating i Validated są pomijane.If the CausesValidation property is set to false, the Validating and Validated events are suppressed.

Uwaga

Zdarzenia Enter i Leave są pomijane przez klasę Form.The Enter and Leave events are suppressed by the Form class. Odpowiednie zdarzenia w klasie Form są zdarzeniami Activated i Deactivate.The equivalent events in the Form class are the Activated and Deactivate events. Zdarzenia Enter i Leave są hierarchiczne i będą miały kaskadowy i wyłączony łańcuch nadrzędny do momentu osiągnięcia odpowiedniej kontroli.The Enter and Leave events are hierarchical and will cascade up and down the parent chain until the appropriate control is reached. Załóżmy na przykład, że masz Form z dwoma kontrolkami GroupBox, a każda kontrolka GroupBox ma jedną kontrolkę TextBox.For example, assume you have a Form with two GroupBox controls, and each GroupBox control has one TextBox control. Gdy karetka jest przenoszona z jednego TextBox do drugiego, zdarzenie Leave zostanie wywołane dla TextBox i GroupBox, a zdarzenie Enter zostanie zgłoszone dla innych GroupBox i 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.

Przestroga

Nie należy próbować ustawić fokusu na podstawie Enter, GotFocus, Leave, LostFocus, Validatingani Validated obsługi zdarzeń.Do not attempt to set focus from within the Enter, GotFocus, Leave, LostFocus, Validating, or Validated event handlers. Wykonanie tej operacji może spowodować, że Twoja aplikacja lub system operacyjny przestaną odpowiadać.Doing so can cause your application or the operating system to stop responding. Aby uzyskać więcej informacji, zobacz temat WM_KILLFOCUS w sekcji "informacje wejściowe dotyczące klawiatury" i sekcji "zakleszczenia komunikatów" tematu Informacje o komunikatach i kolejkach komunikatów .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.

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa iwywoływanie zdarzeń.For more information about handling events, see Handling and Raising Events.

Dotyczy

Zobacz też