• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# フォーム追加後、旧フォームを閉じたい)

C#でフォーム追加後、旧フォームを閉じたい

このQ&Aのポイント
  • C#でフォームを追加した後、旧フォームを閉じる方法について教えてください。
  • Form1からshowDiag()メソッドでForm2を作成し、Form2が表示されたら非アクティブになったForm1を閉じたいです。
  • Form2のForm2_Loadメソッド内でForm1を閉じようとしたが、Form1が閉じられません。どのようにすれば良いですか?

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

> private void Form2_Load(object sender, EventArgs e) > { > Form1 form1 = new Form1(); > form1.Close(); //Form1が閉じない!! > } これで閉じる訳がないでしょう。 newキーワードの意味、わかってますか? あと、元のForm1はform2の所有者ですからForm1をCloseしたらform2も閉じてしまいます。 更におそらくこのForm1はアプリケーションが最初に起動するフォームでしょうから、アプリケーション自体が終了してしまいます。 見えなくなればいいだけならHide()で隠しておくのが常道。 とりあえず「ちゃんと基礎を固めた方がいい」と言っておきます。

noname#154688
質問者

お礼

前略 ・さっそく回答ありがとうございます。  下記のように 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(); } } } 以上