トップ  >  サンプルソース  >  フォームが閉じる理由(C#/VB.NET)

フォームが閉じる理由(C#/VB.NET)

2011年08月04日

フォームが閉じる時の理由(要因)を判断するサンプル(ソース/コード)を紹介します。

ちなみに、"e.Cancel = True"を記述すると"閉じる"という操作を無効にする事が出来ます。

' --------------------------------------------------------
' フォームが閉じる原因を判断するサンプル(VB.NET/VS2005)
Private Sub Form1_FormClosing( _
ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) _
Handles MyBase.FormClosing
    Select Case e.CloseReason
        Case CloseReason.ApplicationExitCall
            Debug.WriteLine("アプリケーションの終了")
        Case CloseReason.FormOwnerClosing
            Debug.WriteLine("親フォームの終了")
        Case CloseReason.MdiFormClosing
            Debug.WriteLine("MDI親フォームの終了")
        Case CloseReason.TaskManagerClosing
            Debug.WriteLine("タスクマネージャによる終了")
        Case CloseReason.UserClosing
            Debug.WriteLine("閉じる(×)ボタンによる終了")
        Case CloseReason.WindowsShutDown
            Debug.WriteLine("Windowsシャットダウンによる終了")
        Case CloseReason.None
            Debug.WriteLine("理由無し")
        Case Else
            Debug.WriteLine("----")
    End Select
End Sub
' --------------------------------------------------------

// -------------------------------------------------------
// フォームが閉じる原因を判断するサンプル(C#.NET/VS2005)
private void Form1_FormClosing(
object sender, FormClosingEventArgs e)
{
    switch (e.CloseReason)
    {
        case CloseReason.ApplicationExitCall:
            Debug.WriteLine("アプリケーションの終了");
            break;
        case CloseReason.FormOwnerClosing:
            Debug.WriteLine("親フォームの終了");
            break;
        case CloseReason.MdiFormClosing:
            Debug.WriteLine("MDI親フォームの終了");
            break;
        case CloseReason.TaskManagerClosing:
            Debug.WriteLine("タスクマネージャによる終了");
            break;
        case CloseReason.UserClosing:
            Debug.WriteLine("閉じる(×)ボタンによる終了");
            break;
        case CloseReason.WindowsShutDown:
            Debug.WriteLine("Windowsシャットダウンによる終了");
            break;
        case CloseReason.None:
            Debug.WriteLine("理由無し");
            break;
        default:
            Debug.WriteLine("----");
            break;
    }
}
// -------------------------------------------------------
スポンサーサイト

ファイル監視(C#/VB.NET) | トップページへ戻る | デバッグ用コード記述方法(C#/VB.NET)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る