Udostępnij za pośrednictwem


Control.Enter Zdarzenie

Definicja

Występuje po otwarciu formantu.

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

Typ zdarzenia

Przykłady

Poniższy przykład kodu używa Enter zdarzenia, aby zmienić kolory pierwszego planu i tła określonego TextBox elementu.

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

Po zmianie fokusu przy użyciu klawiatury (TAB, SHIFT+TAB itd.), wywołując Select metody lub SelectNextControl , ustawiając ContainerControl.ActiveControl właściwość na bieżący formularz, zdarzenia fokusu występują w następującej kolejności:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

Po zmianie fokusu za pomocą myszy lub wywołania Focus metody zdarzenia fokusu występują w następującej kolejności:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

Jeśli właściwość jest ustawiona CausesValidation na false, Validating zdarzenia i Validated są pomijane.

Uwaga

Zdarzenia Enter i Leave są pomijane przez klasę Form . Równoważne zdarzenia w Form klasie to Activated zdarzenia i Deactivate . Zdarzenia Enter i Leave są hierarchiczne i będą kaskadowo w górę i w dół łańcucha nadrzędnego do momentu osiągnięcia odpowiedniej kontrolki. Załóżmy na przykład, że masz kontrolkę Form z dwoma GroupBox kontrolkami, a każda GroupBox kontrolka ma jedną TextBox kontrolkę. Gdy daszek jest przenoszony z jednego TextBox do drugiego, Leave zdarzenie jest wywoływane dla TextBox elementu i GroupBox, a Enter zdarzenie jest zgłaszane dla drugiego GroupBox i TextBox.

Przestroga

Nie należy próbować ustawiać fokusu Enterz poziomu programów obsługi zdarzeń , , GotFocusLostFocusLeave, Validatinglub .Validated Może to spowodować, że aplikacja lub system operacyjny przestaną odpowiadać. Aby uzyskać więcej informacji, zobacz WM_KILLFOCUS temat w sekcji "Dokumentacja wprowadzania klawiatury" i sekcję "Zakleszczenia komunikatów" w temacie About Messages and Message Queues (Informacje o komunikatach i kolejkach komunikatów ).

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Dotyczy

Zobacz też