c# windows form 生命周期 (Life cycle) 事件 顺序 窗口 初始化
form 打开:
•    Control.HandleCreated
•    Control.BindingContextChanged
•    Form.Load
•    Control.VisibleChanged
•    Form.Activated
•    Form.Shown
from 关闭:
•    Form.Closing
•    Form.FormClosing
•    Form.Closed
•    Form.FormClosed
•    Form.Deactivate

control ,change focus:(使用 tab ,shift + tab等等,或是调用Select,SelectNextControl,或是使用当前form的ActiveControl)
•    Enter
•    GotFocus
•    Leave
•    Validating
•    Validated
•    LostFocus

control ,change focus:(使用鼠标,或是通过调用Focus方法)
•    Enter
•    GotFocus
•    LostFocus
•    Leave
•    Validating
•    Validated

Move,Load,VisibleChanged 以及 Activated 事件在form显示之前就触发了。


  • Move: This event occurs when the form is moved. Although by default, when a form is instantiated and launched, the user does not move it, yet this event is triggered before the Load event occurs.
  • Load: This event occurs before a form is displayed for the first time.
  • VisibleChanged: This event occurs when the Visible property value changes.
  • Activated: This event occurs when the form is activated in code or by the user.
  • Shown: This event occurs whenever the form is first displayed. 
  • Paint: This event occurs when the control is redrawn.
  • Deactivate: This event occurs when the form loses focus and is not the active form.
  • Closing: This event occurs when the form is closing.
  • Closed: This event occurs when the form is being closed.

Explain the key events in the lifecycle of the form.

a. Load: fired when form is first loaded in the application
b. Activated: fired whenever the form gets the focus i.e. when loaded first time, restored from the minimize state, whenever the form is brought in front.
c. Deactivated: fired whenever the form looses focus i.e. when form is closed, minimized, when it is in background.
d. Closing: Triggered when application wishes to be closed.
e. Closed: Triggered when application is closed.
f. Disposed: Used for garbage collection.


Form Events:

  • Construtor
  • Load
  • Layout
  • Activated
  • Paint­
  • Closing
  • Closed
  • Deactivate
  • Dispose

and for Controls:

  • Enter 
  • GotFocus 
  • Leave 
  • Validating 
  • Validated 
  • LostFocus

另一个版本的form event 顺序


 Form Startup

  1. OnHandleCreated
  2. OnCreateControl
  1. OnLoad
  1. OnActivated
  2. OnShown

Form Shutdown

  1. OnClosing
  2. OnClosed
  3. OnDeactivate
  4. OnHandleDestroyed