關於 Windows Forms 應用程式中被引發的事件,程式開發人員會特別關注他們的順序,並且盡力依次處理每個事件。

當遇到需要謹慎處理事件的狀況,例如重新繪製部分表單時,對於在執行階段時被引發的事件,感知其精確的順序是必

需的。

 

 

應用程式啟動和關閉事件

FormControl 類別會公開一組關於應用程式啟動和關閉的事件。

當 Windows Forms 應用程式啟動時,主要表單的啟動事件會依照下列順序引發:

Control.HandleCreated

Control.BindingContextChanged

Form.Load

Control.VisibleChanged

Form.Activated

Form.Shown

 

當 Windows Form 應用程式關閉時,主要表單的關閉事件會依照下列順序引發:

Form.Closing

Form.FormClosing

Form.Closed

Form.FormClosed

Form.Deactivate

 

Application 類別的 ApplicationExit 事件會在主要表單的關閉事件之後引發。

 

 

焦點和驗證事件

當使用鍵盤(TAB、SHIFT + TAB 等等)變更焦點時,藉由呼叫 SelectSelectNextControl 方法,或藉由設定

ActiveControl 屬性到目前表單, Control 類別的焦點事件會以下列順序發生:

Enter

GotFocus

Leave

Validating

Validated

LostFocus

 

當使用滑鼠或藉由呼叫 Focus 方法來變更焦點,Control 類別的焦點事件會以下列順序發生:

★ Enter

★ GotFocus

★ LostFocus

★ Leave

★ Validating

★ Validated

 

 

Reference:https://docs.microsoft.com/zh-tw/dotnet/framework/winforms/order-of-events-in-windows-forms

    文章標籤

    [Windows Form 中事件的順序]

    全站熱搜

    mitblog 發表在 痞客邦 留言(0) 人氣()