Control.Leave Event

Definition

Si verifica quando lo stato attivo per l'input esce dall'area del controllo.Occurs when the input focus leaves the control.

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

Examples

Nell'esempio di codice seguente viene usato l'evento Leave per ripristinare lo stato precedente di un controllo.The following code example uses the Leave event to reset a control to its former state.

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

Remarks

Quando si modifica lo stato attivo usando la tastiera (TAB, MAIUSC + TAB e così via), chiamando i metodi Select o SelectNextControl oppure impostando la proprietà ContainerControl.ActiveControl sul form corrente, gli eventi di attivazione si verificano nell'ordine seguente: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

Quando si modifica lo stato attivo tramite il mouse o chiamando il metodo Focus, gli eventi di stato attivo si verificano nell'ordine seguente: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

Se la proprietà CausesValidation è impostata su false, gli eventi Validating e Validated vengono eliminati.If the CausesValidation property is set to false, the Validating and Validated events are suppressed.

Note

Gli eventi Enter e Leave vengono eliminati dalla classe Form.The Enter and Leave events are suppressed by the Form class. Gli eventi equivalenti nella classe Form sono gli eventi Activated e Deactivate.The equivalent events in the Form class are the Activated and Deactivate events. Gli eventi Enter e Leave sono gerarchici e si propagano verso l'alto e verso il basso nella catena padre fino a quando non viene raggiunto il controllo appropriato.The Enter and Leave events are hierarchical and will cascade up and down the parent chain until the appropriate control is reached. Si supponga, ad esempio, di avere un Form con due controlli GroupBox e che ogni controllo GroupBox disponga di un controllo TextBox.For example, assume you have a Form with two GroupBox controls, and each GroupBox control has one TextBox control. Quando il punto di inserimento viene spostato da un TextBox all'altro, viene generato l'evento Leave per l'TextBox e la GroupBoxe viene generato l'evento Enter per le altre GroupBox e 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.

Caution

Non tentare di impostare lo stato attivo dall'interno dei gestori di eventi Enter, GotFocus, Leave, LostFocus, Validatingo Validated.Do not attempt to set focus from within the Enter, GotFocus, Leave, LostFocus, Validating, or Validated event handlers. Questa operazione può causare l'interruzione della risposta dell'applicazione o del sistema operativo.Doing so can cause your application or the operating system to stop responding. Per ulteriori informazioni, vedere l'argomento WM_KILLFOCUS .For more information, see the WM_KILLFOCUS topic.

Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.For more information about handling events, see Handling and Raising Events.

Applies to

See also