• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#でFormを同時に閉じることについて。)

C#でFormを同時に閉じる方法

このQ&Aのポイント
  • C#で複数のFormを同時に閉じる方法について質問しています。
  • Form2から呼び出したForm3を閉じる際に、複数のインスタンスを同時に与える方法を知りたいです。
  • また、Form3のClosingイベントでForm2が閉じられたら同時に閉じる方法についても教えてほしいです。

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

  • ベストアンサー
  • byDesign
  • ベストアンサー率75% (45/60)
回答No.2

>Form3にはForm2のインスタンス、frm2は与えられています public partial class Form3 : Form{  Form2 from2;  public Form3(Form2 form2){   EventHandler handler = (_s, _e)=>{ this.Close(); }   form2.Closed +=handler // (A)   this.Closed += (_s, _e)=>{ form2.Closed -= handler; } // (B)  } } (A)form2が閉じるときに自分も閉じる (B)自分が閉じる場合にイベント解除(自分を先に閉じた時用)

redeyes024
質問者

お礼

ご回答ありがとうございました。なんだか見慣れないプログラム文で難しいですね…。 解決はしたのですが。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>インスタンスを与えれば簡単でしょうけど、Form2にはすでに別Formのインスタンスが与えられていて、複数個のインスタンスを同時に与える方法が分かりませんし、可能かも分かりません。まだまだプログラミングは浅くて…。 Form2からForm3を呼び出して(「Form3のインスタンスを生成して」の間違い?)はいるんですよね? 呼び出しができてるのなら閉じるのも同じですけど。 具体的には >あるForm2から呼び出したForm3があります。 の部分はどうやってるんですか? >この他に、Form3のClosingイベントでForm2が閉じられたら同時に閉じるという方法も考えました。 Closingイベントは、そのフォームがCloseしよとしてるときに起きるので、それだと起きるのはForm3が閉じようとするときですよ。

redeyes024
質問者

お礼

ご回答ありがとうございました。2番の回答者様の方法で解決しました。 しかし、Closingイベントの件、なるほど誤解していました。