Control.Leave Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, когда фокус ввода покидает элемент управления.
public:
event EventHandler ^ Leave;
public event EventHandler Leave;
public event EventHandler? Leave;
member this.Leave : EventHandler
Public Custom Event Leave As EventHandler
Тип события
Примеры
В следующем примере кода событие используется Leave для сброса элемента управления до прежнего состояния.
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
Комментарии
При изменении фокуса с помощью клавиатуры (TAB, SHIFT+TAB и т. д.), путем вызова Select методов или SelectNextControl установки ContainerControl.ActiveControl для свойства текущей формы события фокуса происходят в следующем порядке:
При изменении фокуса с помощью мыши или вызова Focus метода события фокуса происходят в следующем порядке:
Если свойству CausesValidation присвоено значение false
, Validating события и Validated подавляются.
Примечание
События Enter и Leave подавляются классом Form . Эквивалентные события в Form классе — это Activated события и Deactivate . Enter События и Leave являются иерархическими и будут каскадно вверх и вниз по родительской цепочке, пока не будет достигнут соответствующий элемент управления. Например, предположим, что у вас есть Form элемент управления с двумя GroupBox элементами управления, а каждый элемент GroupBox управления имеет один TextBox элемент управления. При перемещении курсора из одного TextBox объекта в другой Leave событие вызывается для TextBox и GroupBox, а Enter событие вызывается для другого GroupBox и TextBox.
Внимание!
Не пытайтесь задать фокус в обработчиках Enterсобытий , GotFocus, Leave, LostFocus, Validatingили Validated . Это может привести к тому, что приложение или операционная система перестают отвечать на запросы. Дополнительные сведения см. в разделе WM_KILLFOCUS .
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.