本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

Control.GotFocus 事件

 

發生於控制項取得焦點時。

命名空間:   System.Windows.Forms
組件:  System.Windows.Forms (於 System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public event EventHandler GotFocus

當您使用鍵盤 (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, 、 ValidatingValidated 事件都會被抑制。

注意    GotFocusLostFocus 事件是低階的焦點事件會繫結至 WM_KILLFOCUS 和 WM_SETFOCUS Windows 訊息。 一般而言, GotFocusLostFocus 更新時,才會使用事件 UICues 或撰寫自訂控制項時。 改為 EnterLeave 事件適用於所有控制項,除了 Form 類別,它會使用 ActivatedDeactivate 事件。 如需詳細資訊 GotFocusLostFocus 事件,請參閱 < WM_SETFOCUSWM_KILLFOCUS 主題。

System_CAPS_caution注意

請勿嘗試將焦點設定在 Enter, ,GotFocus, ,Leave, ,LostFocus, ,Validating, ,或 Validated 事件處理常式。 如此一來,可能會導致您的應用程式或作業系統停止回應。 如需詳細資訊,請參閱 WM_KILLFOCUS 主題。

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

下列程式碼範例示範如何使用這個成員。 在範例中,事件處理常式會報告一次 GotFocus 事件。 此報表可協助您了解事件發生的時機,並可協助您偵錯。

若要執行範例程式碼,將它貼到專案,其中包含執行個體的型別繼承自 Control, ,例如 ButtonComboBox 命名的執行個體 Control1 ,並確保與關聯的事件處理常式 GotFocus 事件。

private void Control1_GotFocus(Object sender, EventArgs e) {

   MessageBox.Show("You are in the Control.GotFocus event.");

}

.NET Framework
自 1.1 起供應
回到頁首
顯示: