Esta documentación está archivada y no tiene mantenimiento.

Control.Leave (Evento)

Se produce cuando el foco de entrada deja el control.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public event EventHandler Leave
/** @event */
public void add_Leave (EventHandler value)

/** @event */
public void remove_Leave (EventHandler value)

En JScript, se pueden controlar los eventos que define una clase, pero no se pueden definir unos propios.
No aplicable.

Al cambiar el foco mediante el teclado (TAB, MAYÚS+TAB, etc.), llamando al método Select o SelectNextControl, o bien, estableciendo el valor de la propiedad ContainerControl.ActiveControl en el formulario actual, los eventos de foco se producen en el siguiente orden:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

Al cambiar el foco mediante el mouse (ratón) o llamando al método Focus, los eventos de foco se producen en el siguiente orden:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

Si la propiedad CausesValidation se establece en false, los eventos Validating y Validated se suprimen.

NotaNota:

La clase Form suprime los eventos Enter y Leave. Los eventos equivalentes de la clase Form son los eventos Activated y Deactivate. Los eventos Enter y Leave son jerárquicos y se organizan en cascada hacia arriba o hacia abajo hasta llegar al control correspondiente. Por ejemplo, supongamos que tiene un Form con dos controles GroupBox, y que cada GroupBox tiene un control TextBox. Cuando el símbolo de intercalación se mueve de un control TextBox a otro, se provoca el evento Leave para los controles TextBox y GroupBox, y se provoca el evento Enter para los otros controles GroupBox y TextBox.

Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.

En el ejemplo de código siguiente se utiliza el evento Leave para restablecer un control a su estado anterior.

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);
    }
}

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 void textBox1_Enter(Object sender, System.EventArgs e)
{
    // If the TextBox contains text, change its foreground and background 
    // colors.
    if (!(textBox1.get_Text().Equals(""))) {
        textBox1.set_ForeColor(Color.get_Red());
        textBox1.set_BackColor(Color.get_Black());

        // Move the selection pointer to the end of the text of the 
        // control.
        textBox1.Select(textBox1.get_Text().get_Length(), 0);
    }
} //textBox1_Enter

private void textBox1_Leave(Object sender, System.EventArgs e)
{
    // Reset the colors and selection of the TextBox after focus is lost.
    textBox1.set_ForeColor(Color.get_Black());
    textBox1.set_BackColor(Color.get_White());
    textBox1.Select(0, 0);
} //textBox1_Leave

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0
Mostrar: