.NET Framework フォームのイベント順序

Last-modified: 2011-05-12 (木) 13:54:15

CreateParamsとDefault--プロパティとOn---関数の呼び出し順序

フォームに何もコントロールが乗っていないとき。

起動時

  • OnClientSizeChanged
  • OnStyleChanged
  • OnTextChanged
  • OnLocation Changed // ←「on change」がくっつくとスパム扱いになるので、離しています。
  • OnMove
  • OnHandleCreated
  • OnInvalidated
  • OnStyleChanged
  • OnCreateControl
  • OnBindingContextChanged
  • OnLoad
  • OnVisibleChanged
  • OnLayout
  • OnPaintBackground
  • OnGotFocus
  • OnActivated
  • OnShown
  • OnPaint

フォーカスを奪われたとき

  • OnDeactivate
  • OnLostFocus

フォーカスを取り戻したとき

  • OnPaintBackground
  • OnGotFocus
  • OnActivated
  • OnPaint

終了時

  • OnMouseCaptureChanged
  • OnClosing
  • OnFormClosing
  • OnClosed
  • OnFormClosed
  • OnDeactivate
  • OnLostFocus
  • OnHandleDestroyed

フォーム移動時

  • OnMouseCaptureChanged // (*1)
  • OnResizeBegin // (*1)
  • OnLocation Changed // ←「on change」がくっつくとスパム扱いになるので、離しています。
  • OnMove
  • OnMouseCaptureChanged // (*1)
  • OnResizeEnd // (*1)

1:プログラム内で Form.Location を変更したときは発生しません。

フォームにボタンが1つ乗っているときのフォーム。

起動時

  • OnClientSizeChanged
  • OnControlAdded
  • OnStyleChanged
  • OnTextChanged
  • OnLocation Changed() // ←「on change」がくっつくとスパム扱いになるので、離しています。
  • OnMove
  • OnHandleCreated
  • OnInvalidated
  • OnStyleChanged
  • OnCreateControl
  • OnBindingContextChanged
  • OnLoad
  • OnVisibleChanged
  • OnLayout
  • OnPaintBackground
  • OnActivated
  • OnShown
  • OnPaint

フォーカスを奪われたとき

  • OnDeactivate

フォーカスを取り戻したとき

  • OnPaintBackground
  • OnActivated
  • OnPaint

終了時

  • OnMouseCaptureChanged
  • OnClosing
  • OnFormClosing
  • OnClosed
  • OnFormClosed
  • OnDeactivate
  • OnHandleDestroyed

フォームにボタンが1つ乗っているときのボタン

単純にButtonを継承しただけのボタンを作って、フォームに貼って、トレース。

起動時

  • OnLocation Changed // ←「on change」がくっつくとスパム扱いになるので、離しています。
  • OnMove
  • OnTabIndexChanged
  • OnTextChanged
  • OnParentChanged
  • OnVisibleChanged
  • OnHandleCreated
  • OnCreateControl
  • OnParentBindingContextChanged
  • OnBindingContextChanged
  • OnParentVisibleChanged
  • OnVisibleChanged
  • OnEnter
  • OnInvalidated
  • OnGotFocus
  • OnInvalidated
  • OnPaint

フォーカスを奪われたとき

  • OnLostFocus
  • OnInvalidated
  • OnPaint

フォーカスを取り戻したとき

  • OnGotFocus
  • OnInvalidated
  • OnPaint

終了時

  • OnValidating
  • OnValidated
  • OnLostFocus
  • OnInvalidated
  • OnHandleDestroyed

フォームにコンテナが1つ乗っているときのコンテナ

ContainerControlを継承したコンテナを使用。

起動時

  • OnLocation Changed // ←「on change」がくっつくとスパム扱いになるので、離しています。
  • OnMove
  • OnSizeChanged
  • OnResize
  • OnLayout
  • OnClientSizeChanged
  • OnTabIndexChanged
  • OnTextChanged
  • OnParentChanged
  • OnVisibleChanged
  • OnHandleCreated
  • OnCreateControl
  • OnBindingContextChanged
  • OnParentBindingContextChanged
  • OnBindingContextChanged
  • OnParentVisibleChanged
  • OnVisibleChanged
  • OnLayout
  • OnEnter
  • OnPaintBackground
  • OnGotFocus
  • OnPaint

フォーカスを奪われたとき

  • OnLostFocus

フォーカスを取り戻したとき

  • OnPaintBackground
  • OnGotFocus
  • OnPaint

終了時

  • OnPaintBackground
  • OnPaint
  • OnPaintBackground
  • OnPaint
  • OnPaint
  • OnValidating
  • OnValidated
  • OnLostFocus
  • OnHandleDestroyed

参考