Windows フォームのイベントの順序

更新 : 2007 年 11 月

Windows フォーム アプリケーションでイベントが発生する順序は、各イベントを順番に処理する必要がある開発者にとって重要な問題です。フォームの構成要素を再描画するときなど、イベント処理に細心の注意が必要な状況では、実行時におけるイベントの正確な発生順序に気を配る必要があります。ここでは、アプリケーションとコントロールの有効期間におけるいくつかの重要な段階での、イベントの順序について詳しく説明します。マウス入力イベントの順序の詳細については、「Windows フォームにおけるマウス イベント」を参照してください。Windows フォームのイベントの概要については、「イベントの概要 (Windows フォーム)」を参照してください。イベント ハンドラの作成の詳細については、「イベント ハンドラの概要 (Windows フォーム)」を参照してください。

アプリケーションのスタートアップ イベントとシャットダウン イベント

Form クラスおよび Control クラスは、アプリケーションのスタートアップおよびシャットダウンに関連する一連のイベントを公開します。Windows フォーム アプリケーションが起動すると、メイン フォームのスタートアップ イベントが次の順序で発生します。

アプリケーションを閉じると、メイン フォームのシャットダウン イベントが次の順序で発生します。

Application クラスの ApplicationExit イベントは、メイン フォームのシャットダウン イベントの後に発生します。

メモ :

Visual Basic 2005 には、追加のアプリケーション イベント (WindowsFormsApplicationBase.StartupWindowsFormsApplicationBase.Shutdown など) が含まれています。方法 : アプリケーション イベントを処理する (Visual Basic)
方法 : アプリケーション イベントを処理する (Visual Basic)
方法 : アプリケーション イベントを処理する (Visual Basic)

フォーカス イベントと検証イベント

キーボード (Tab、Shift + Tab など) を使用するか、Select メソッドまたは SelectNextControl メソッドを呼び出すか、ActiveControl プロパティを現在のフォームに設定してフォーカスを変更するとき、次の順序で Control クラスのフォーカス イベントが発生します。

マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更する場合、Control クラスのフォーカス イベントは次の順序で発生します。

参照

その他の技術情報

Windows フォーム内でのイベント ハンドラの作成