• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ListにDialogを格納して閉じたら削除 C#)

ListにDialogを格納して閉じたら削除 C#

このQ&Aのポイント
  • Visual C#で、Listに複数のモードレスダイアログを格納し、一括で最前面表示の有効・無効を切り替える方法について説明します。
  • リストからダイアログのインスタンスを削除する方法と、ダイアログのクラスからオーナーのFormのプロパティにアクセスする方法についても解説します。
  • この方法を使用することで、効率的に複数のダイアログを管理し、必要な場合に簡単に削除することができます。

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

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

お手軽な手段としては、 ・MyDialog にオーナーの Form1 への参照を追加 ・MyDialog のコンストラクタに Form1 の引数を追加してその中で上記の参照に引数値を追加 ・ MyDialog dialog = new MyDialog(); を MyDialog dialog = new MyDialog(this); と書き換え ・MyDialog のクローズ時に Form1 の removeDialog() (後述)を呼ぶ ・Form1 に以下のメソッドを追加 public void removeDialog(MyDialog dlg) { dialogList.remove(dlg); } で > ダイアログを閉じた際 > リストからそのダイアログのインスタンスを削除したい ができると思います。

django13
質問者

お礼

教えて頂いた方法で正しく動作しました。 インスタンス化する毎に区別するためのIDのようなものが割り振られているのかと思っていました。 ありがとうございます。