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メソッドでリソースも解放されるため、Disposeメソッドを呼び出す必要はありません。詳しくは、「新しいフォームを表示する」をご覧ください。

フォームを隠す

Closeメソッドでフォームを閉じた時は、その後このフォームを表示することはできません。例えば以下の例では、Closeの後のShowメソッドで、例外ObjectDisposedException(破棄されたオブジェクトにアクセスできません)が発生します。

VB.NET
コードを隠すコードを選択
Dim f As New Form1()
'フォームを表示する
f.Show()

'フォームを閉じる
f.Close()

'再びフォームを表示する
'例外ObjectDisposedExceptionが発生する
f.Show()
C#
コードを隠すコードを選択
Form1 f = new Form1();
//フォームを表示する
f.Show();

//フォームを閉じる
f.Close();

//再びフォームを表示する
//例外ObjectDisposedExceptionが発生する
f.Show();

もしフォームを一時的に非表示にするだけならば、Hideメソッドを呼び出すか、VisibleプロパティをFalseにすることで、フォームを隠します。このようにすれば、後でまたこのフォームを表示することができます。

VB.NET
コードを隠すコードを選択
Dim f As New Form1()
'フォームを表示する
f.Show()

'フォームを隠す
f.Hide()
'または、次のようにしても同じ
'f.Visible = False

'再びフォームを表示する
f.Show()
'または、次のようにしても同じ
'f.Visible = True
C#
コードを隠すコードを選択
Form1 f = new Form1();
//フォームを表示する
f.Show();

//フォームを隠す
f.Hide();
//または、次のようにしても同じ
//f.Visible = false;

//再びフォームを表示する
f.Show();
//または、次のようにしても同じ
//f.Visible = true;

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

この章の内容は、「アプリケーション(自分自身)を終了させる」に移動しました。

  • 履歴:
  • 2013/6/21 「アプリケーションを終了させる」を別のページに移動。フォームを隠すコードを追加。

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

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