質問者
Forms2からForms1をCloseするには?

質問
すべての返信
-
-
グローバルオブジェクトに開いているフォームとフォームを開くメソッドの管理を任せて、各フォームから呼び出す方法があります。VBで書いてしまいましたが下記のようなコードで実現できます。適宜お使いの言語に直してください。
Module Module1 Dim ActiveForm As Form Public Sub OpenForm(Of TForm As {Form, New})() If ActiveForm IsNot Nothing Then ActiveForm.Close() ActiveForm = New TForm ActiveForm.Show() End Sub Public Sub Main() OpenForm(Of Form1)() Application.Run() End Sub End Module
下記URLも参考になります。
http://systemartlaboratory.com/
- 回答の候補に設定 佐伯玲 2012年9月25日 2:07
-
通常はForm1とかForm2のように名前を付けると思うのですが、それは置いておいて。
Forms1をCloseしたらアプリケーションが終わってしまうという記述は見当たらないので、単純にForms1で、Forms2 form = new Forms2
form.Show()
Me.Close()ではダメなのでしょうか?
ただ、この後にAzuleanさんが指摘されているように、Forms1が一番最初に開かれたフォームの場合、アプリケーション自体が終了してしまうという問題にぶつかるかもしれません。その場合は、三輪の牛さんが書かれている方法などがあります。★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 佐伯玲 2012年9月25日 2:07