フォームを閉じるには、Form.Close メソッドを使います。
'自分自身のフォームを閉じる Me.Close()
//自分自身のフォームを閉じる this.Close();
ShowDialogメソッドで表示したモーダルフォームは、Closeメソッドを呼び出してもフォームのリソースは解放されません。リソースを解放するためには、Disposeメソッドを呼び出す必要があります。一方Showメソッドで表示したモードレスフォームは、Closeメソッドでリソースも解放されるため、Disposeメソッドを呼び出す必要はありません。詳しくは、「新しいフォームを表示する」をご覧ください。
Closeメソッドでフォームを閉じた時は、その後このフォームを表示することはできません。例えば以下の例では、Closeの後のShowメソッドで、例外ObjectDisposedException(破棄されたオブジェクトにアクセスできません)が発生します。
Dim f As New Form1() 'フォームを表示する f.Show() 'フォームを閉じる f.Close() '再びフォームを表示する '例外ObjectDisposedExceptionが発生する f.Show()
Form1 f = new Form1(); //フォームを表示する f.Show(); //フォームを閉じる f.Close(); //再びフォームを表示する //例外ObjectDisposedExceptionが発生する f.Show();
もしフォームを一時的に非表示にするだけならば、Hideメソッドを呼び出すか、VisibleプロパティをFalseにすることで、フォームを隠します。このようにすれば、後でまたこのフォームを表示することができます。
Dim f As New Form1() 'フォームを表示する f.Show() 'フォームを隠す f.Hide() 'または、次のようにしても同じ 'f.Visible = False '再びフォームを表示する f.Show() 'または、次のようにしても同じ 'f.Visible = True
Form1 f = new Form1(); //フォームを表示する f.Show(); //フォームを隠す f.Hide(); //または、次のようにしても同じ //f.Visible = false; //再びフォームを表示する f.Show(); //または、次のようにしても同じ //f.Visible = true;
この章の内容は、「アプリケーション(自分自身)を終了させる」に移動しました。