Application.ThreadExit イベント

定義

スレッドがシャットダウンしようとしているときに発生します。 アプリケーションのメイン スレッドがシャットダウンされようとすると、最初にこのイベントが発生し、その後に ApplicationExit イベントが発生します。

public:
 static event EventHandler ^ ThreadExit;
public static event EventHandler ThreadExit;
member this.ThreadExit : EventHandler 
Public Shared Custom Event ThreadExit As EventHandler 

イベントの種類

次のコード例は、このメンバーの使用方法を示しています。 この例では、イベント ハンドラーは、 ThreadExit イベントの発生を報告します。 このレポートは、イベントがいつ発生するかを学習するのに役立ち、デバッグに役立ちます。 複数のイベントや頻繁に発生するイベントについて報告するには、 MessageBox.ShowConsole.WriteLine に置き換えるか、メッセージを複数行の TextBoxに追加することを検討してください。

コード例を実行するには、Windows フォームに貼り付け、イベント ハンドラーが ThreadExit イベントに関連付けられていることを確認します。

private void Application_ThreadExit(Object sender, EventArgs e) {

   MessageBox.Show("You are in the Application.ThreadExit event.");
}
Private Sub Application_ThreadExit(ByVal sender As Object, ByVal e As EventArgs) 

    MessageBox.Show("You are in the Application.ThreadExit event.")

End Sub

注釈

スレッドの実行を停止する前に、ハンドルされない必要なタスクを実行するには、イベント ハンドラーを ThreadExit イベントにアタッチする必要があります。 このスレッドによって開かれたファイルを閉じるか、ガベージ コレクターが回収しなかったオブジェクトを破棄します。

Caution

これは静的イベントであるため、アプリケーションが破棄されたときにイベント ハンドラーをデタッチする必要があります。または、メモリ リークが発生します。

適用対象

こちらもご覧ください