- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ListにDialogを格納して閉じたら削除 C#)
ListにDialogを格納して閉じたら削除 C#
このQ&Aのポイント
- Visual C#で、Listに複数のモードレスダイアログを格納し、一括で最前面表示の有効・無効を切り替える方法について説明します。
- リストからダイアログのインスタンスを削除する方法と、ダイアログのクラスからオーナーのFormのプロパティにアクセスする方法についても解説します。
- この方法を使用することで、効率的に複数のダイアログを管理し、必要な場合に簡単に削除することができます。
- みんなの回答 (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); } で > ダイアログを閉じた際 > リストからそのダイアログのインスタンスを削除したい ができると思います。
お礼
教えて頂いた方法で正しく動作しました。 インスタンス化する毎に区別するためのIDのようなものが割り振られているのかと思っていました。 ありがとうございます。