DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

フォームを閉じる

フォームを閉じるには、Form.Close メソッドを使います。

VB.NET
コードを隠すコードを選択
'自分自身のフォームを閉じる
Me.Close()
C#
コードを隠すコードを選択
//自分自身のフォームを閉じる
this.Close();
補足:ShowDialogメソッドによりモーダルフォームとして表示した場合、そのフォームのCloseメソッドを呼び出してもフォームのリソースは解放されません。リソースを解放するためには、Disposeメソッドを呼び出す必要があります。Showメソッドによりモードレスフォームとして表示した場合には、その必要はありません。
補足:Closeメソッドでフォームを閉じた時は、その後このフォームを表示することはできません。もしフォームを一時的に非表示にするだけであれば、Hideメソッドを呼び出したり、VisibleプロパティをFalseにすることにより、フォームを隠してください。

アプリケーションを終了させる

Application.Exitメソッド

通常はメインフォームを閉じるとアプリケーションは終了します。これとは別の方法として、Application.Exitメソッドによりアプリケーションを終了することも出来ます。

補足:「通常」というのは、Application.Runメソッドのパラメータにメインフォームを指定してアプリケーションを開始したり、VB.NETでエントリポイントにメインフォームが指定されているというような場合のことです。

Application.Exitメソッドを呼び出して終了させた時、現在開いているすべてのフォームが閉じられます。このとき.NET Framework 2.0以降ではFormClosing、FormClosedイベントが発生しますが、.NET Framework 1.1以前ではフォームのClosing及びClosedイベントが発生しません。

VB.NET
コードを隠すコードを選択
'アプリケーションを終了する
Application.Exit()
C#
コードを隠すコードを選択
//アプリケーションを終了する
Application.Exit();
補足:Application.Exitメソッドは、Application.Runメソッドで開始されたメッセージループを終了させるために使用されます。つまり、ExitはRunを返します。現在のスレッドだけのメッセージループを終了するには、Application.ExitThreadメソッドを使用します。

Environment.Exitメソッド

ウィンドウズアプリケーションではなく、コンソールアプリケーションを終了させるには、Environment.Exitメソッドを使用します。Environment.Exitメソッドはウィンドウズアプリケーションでも使用できますが、アプリケーションは強制的に終了します。VB.NETのEndステートメントはEnvironment.Exitメソッドを呼び出しています。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • このサイトで紹介されているコードの多くは、例外処理が省略されています。例外処理については、こちらをご覧ください。