- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# フォーム追加後、旧フォームを閉じたい)
C#でフォーム追加後、旧フォームを閉じたい
このQ&Aのポイント
- C#でフォームを追加した後、旧フォームを閉じる方法について教えてください。
- Form1からshowDiag()メソッドでForm2を作成し、Form2が表示されたら非アクティブになったForm1を閉じたいです。
- Form2のForm2_Loadメソッド内でForm1を閉じようとしたが、Form1が閉じられません。どのようにすれば良いですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> private void Form2_Load(object sender, EventArgs e) > { > Form1 form1 = new Form1(); > form1.Close(); //Form1が閉じない!! > } これで閉じる訳がないでしょう。 newキーワードの意味、わかってますか? あと、元のForm1はform2の所有者ですからForm1をCloseしたらform2も閉じてしまいます。 更におそらくこのForm1はアプリケーションが最初に起動するフォームでしょうから、アプリケーション自体が終了してしまいます。 見えなくなればいいだけならHide()で隠しておくのが常道。 とりあえず「ちゃんと基礎を固めた方がいい」と言っておきます。
お礼
前略 ・さっそく回答ありがとうございます。 下記のように Hide()を使いForm1を非表示にすることができました。 namespace formClose { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); this.Hide(); } } } 以上