Control.Leave Zdarzenie
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Występuje po usunięciu fokusu wprowadzania z formantu.
public:
event EventHandler ^ Leave;
public event EventHandler Leave;
public event EventHandler? Leave;
member this.Leave : EventHandler
Public Custom Event Leave As EventHandler
Typ wydarzenia
Przykłady
Poniższy przykład kodu używa Leave zdarzenia do zresetowania kontrolki do poprzedniego stanu.
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 za pomocą 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:
W przypadku zmiany fokusu przy użyciu myszy lub wywołania Focus metody zdarzenia fokusu są wykonywane w następującej kolejności:
Jeśli właściwość jest ustawiona CausesValidation na false, zdarzenia Validating i Validated są pomijane.
Uwaga
Zdarzenia Enter i Leave są pomijane przez klasę Form . Zdarzenia równoważne w Form klasie to Activated zdarzenia i Deactivate . Zdarzenia Enter i Leave są hierarchiczne i będą kaskadowo w górę iw 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 kontrolka GroupBox ma jedną TextBox kontrolkę. Gdy daszek jest przenoszony z jednego TextBox do drugiego, Leave zdarzenie jest zgłaszane dla TextBox elementów 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ń , GotFocus, LeaveLostFocus, , Validatinglub Validated . Może to spowodować, że aplikacja lub system operacyjny przestaną odpowiadać. Aby uzyskać więcej informacji, zobacz temat WM_KILLFOCUS .
Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.