ユーザーが Form1 のボタンをクリックして Form2 を開く状況があります。Form1 のロード イベントは、データベースから返されたデータに基づいてツリービューを生成します。Form2 にデータを入力すると、データベースは更新されますが、ツリービューは更新されません。winform を閉じて再度開くと、新しいデータが取り込まれます。
私は数時間掘り下げていて、Form2 から Form1 の getdata メソッドを呼び出す方法を見つけましたが、うまくいきません。デバッグ モードでトレースでき、dataReader に新しい値が含まれていることを確認しましたが、ツリービューは更新されません。私はこのようにしました。
//In form 2
Form1 frm = new Form1();
frm.getData();
何も起こりません。frm.Show() と言うと、更新されたデータで新しい Form1 ウィンドウが開きますが、既に開いている Form1 ウィンドウでツリービューを更新したいと考えています。
これが問題の根源だと思います。frm への呼び出しはすべて、新しいウィンドウで行われます。Form2 から既存の Form1 ウィンドウの getData() メソッドにアクセスするにはどうすればよいですか?