- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#でFormを同時に閉じることについて。)
C#でFormを同時に閉じる方法
このQ&Aのポイント
- C#で複数のFormを同時に閉じる方法について質問しています。
- Form2から呼び出したForm3を閉じる際に、複数のインスタンスを同時に与える方法を知りたいです。
- また、Form3のClosingイベントでForm2が閉じられたら同時に閉じる方法についても教えてほしいです。
- みんなの回答 (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)自分が閉じる場合にイベント解除(自分を先に閉じた時用)
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
>インスタンスを与えれば簡単でしょうけど、Form2にはすでに別Formのインスタンスが与えられていて、複数個のインスタンスを同時に与える方法が分かりませんし、可能かも分かりません。まだまだプログラミングは浅くて…。 Form2からForm3を呼び出して(「Form3のインスタンスを生成して」の間違い?)はいるんですよね? 呼び出しができてるのなら閉じるのも同じですけど。 具体的には >あるForm2から呼び出したForm3があります。 の部分はどうやってるんですか? >この他に、Form3のClosingイベントでForm2が閉じられたら同時に閉じるという方法も考えました。 Closingイベントは、そのフォームがCloseしよとしてるときに起きるので、それだと起きるのはForm3が閉じようとするときですよ。
質問者
お礼
ご回答ありがとうございました。2番の回答者様の方法で解決しました。 しかし、Closingイベントの件、なるほど誤解していました。
お礼
ご回答ありがとうございました。なんだか見慣れないプログラム文で難しいですね…。 解決はしたのですが。