• ベストアンサー

フォームの切り替え

VB2008です フォーム1で必要事項を入力して『OK』をすると フォーム2を表示して(フォーム1を閉じる)入力→『OK』をするとフォーム3が表示(フォーム2を閉じる)… と処理を順々にしたいのですが コードで Form2.Show Me.close ←フォーム1のこと としてもプログラムが終了してしまいます どのような処理をしたらよいのでしょうか? ご教授お願いします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

メインフォームを閉じると終了してしまいます。 ので、hideで隠すか、メインフォームをそもそも最初から隠しておいて使わないとか、そういう感じにするのが良いかと思います。

Alshark
質問者

お礼

ありがとうございます。 複数フォームがある場合、どれか開いていればプログラムが持続すると思っていました。

その他の回答 (1)

回答No.2

#1さんの仰るとおり、メインフォームを閉じていることが原因です。 どうしてもForm1をCloseしなければならないのであれば、下記のようにメインフォームを置き換えることでCloseできるようになります。 Form2.Show() My.Application.ApplicationContext.MainForm = Form2 Me.Close() Form2→Form3の遷移でも同じように。

Alshark
質問者

お礼

ありがとうございます。 複数フォームがある場合、どれか開いていればプログラムが持続すると思っていました。

関連するQ&A

専門家に質問してみよう