Application.ThreadExit イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
スレッドがシャットダウンしようとしているときに発生します。 アプリケーションのメイン スレッドがシャットダウンされようとすると、最初にこのイベントが発生し、その後に ApplicationExit イベントが発生します。
public:
static event EventHandler ^ ThreadExit;
public static event EventHandler ThreadExit;
member this.ThreadExit : EventHandler
Public Shared Custom Event ThreadExit As EventHandler
イベントの種類
例
次のコード例は、このメンバーの使用方法を示しています。 この例では、イベント ハンドラーは、 ThreadExit イベントの発生を報告します。 このレポートは、イベントがいつ発生するかを学習するのに役立ち、デバッグに役立ちます。 複数のイベントや頻繁に発生するイベントについて報告するには、 MessageBox.Show を Console.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
これは静的イベントであるため、アプリケーションが破棄されたときにイベント ハンドラーをデタッチする必要があります。または、メモリ リークが発生します。