Control.Leave 事件

定義

發生於輸入焦點離開控制項時。

C#
public event EventHandler Leave;
C#
public event EventHandler? Leave;

事件類型

範例

下列程式碼範例會 Leave 使用 事件,將控制項重設為其先前的狀態。

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

備註

當您使用鍵盤 (TAB、SHIFT+TAB 等) 、呼叫 SelectSelectNextControl 方法,或將 屬性設定 ContainerControl.ActiveControl 為目前表單來變更焦點時,焦點事件會依下列順序發生:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

當您使用滑鼠或呼叫 Focus 方法變更焦點時,焦點事件會依照下列順序發生:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

CausesValidation如果 屬性設定為 false ,則會 Validating 隱藏 和 Validated 事件。

備註

Enter類別會隱藏 FormLeave 事件。 類別中的 Form 對等事件是 ActivatedDeactivate 事件。 EnterLeave 事件是階層式的,而且會向上和向下串聯父鏈結,直到到達適當的控制項為止。 例如,假設您有兩個 Form 控制項的 GroupBox ,而每個控制項都有 GroupBox 一個 TextBox 控制項。 當插入號從其中一個移到另一個插入號時, Leave 會針對 TextBoxGroupBox 引發 事件,並 Enter 針對另一 TextBoxGroupBox 個 和 TextBox 引發 事件。

注意

請勿嘗試從 、、、、 ValidatingLostFocusValidated 事件處理常式內 Enter 設定焦點。 LeaveGotFocus 這樣做可能會導致您的應用程式或作業系統停止回應。 如需詳細資訊,請參閱 WM_KILLFOCUS 主題。

如需處理事件的詳細資訊,請參閱 處理和引發事件

適用於

產品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱