c# windows form 生命周期 (Life cycle) 事件 顺序

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
____________________________________________________________________________________________________________________


//z 2012-5-16 14:41:02 PM IS2120@CSDN

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 顺序

Load
VisibleChanged
Activated
Shown
Paint
Deactivate
Activated
Paint
Formclosing
FormClosed
Deactivate

//z 2012-5-16 14:41:02 PM IS2120@CSDN

 Form Startup

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

Form Shutdown

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

原文地址:https://www.cnblogs.com/IS2120/p/6745892.html