Control.Leave Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastane, když vstupní fokus opustí ovládací prvek.
public:
event EventHandler ^ Leave;
public event EventHandler Leave;
public event EventHandler? Leave;
member this.Leave : EventHandler
Public Custom Event Leave As EventHandler
Event Type
Příklady
Následující příklad kódu používá Leave událost k resetování ovládacího prvku do původního stavu.
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
Poznámky
Když fokus změníte pomocí klávesnice (TAB, SHIFT+TAB atd.), zavoláním Select nebo SelectNextControl metodou nebo nastavením ContainerControl.ActiveControl vlastnosti na aktuální formulář dojde k událostem fokusu v následujícím pořadí:
Když změníte fokus pomocí myši nebo voláním Focus metody, dojde k událostem fokusu v následujícím pořadí:
Pokud je vlastnost nastavena CausesValidation na false, Validating a Validated události jsou potlačeny.
Poznámka:
Události Enter jsou Leave potlačeny Form třídou. Ekvivalentní události ve Form třídě jsou a ActivatedDeactivate události. Leave Události Enter jsou hierarchické a budou kaskádovitě nahoru a dolů nadřazeného řetězce, dokud nedosáhnete příslušného ovládacího prvku. Předpokládejme například, že máte Form dva GroupBox ovládací prvky a každý GroupBox ovládací prvek má jeden TextBox ovládací prvek. Když je stříška přesunuta z jednoho TextBox na druhý, Leave událost je vyvolána pro TextBoxGroupBoxa , a Enter událost je vyvolána pro druhý GroupBox a TextBox.
Upozornění
Nepokoušejte se nastavit fokus z Enterobslužných rutin událostí , , GotFocusLostFocusLeave, , Validatingnebo Validated obslužných rutin událostí. To může způsobit, že vaše aplikace nebo operační systém přestanou reagovat. Další informace najdete v tématu WM_KILLFOCUS .
Další informace o zpracování událostí naleznete v tématu Zpracování a vyvolávání událostí.