• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# 親フォームで指定した値を子フォームで表示する)

C#親フォームで値を子フォームに表示する方法

このQ&Aのポイント
  • C#の親フォームで選択した値を子フォームに表示したいがうまくできず困っている。
  • 親フォームのリストボックスで選択したインデックス番号を子フォームのテキストボックスに表示したいが何も表示されず困っている。
  • Form1クラスのlistChoise変数の値が子フォームのForm2クラスで正しく受け取れていないようだ。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

子ダイアログから 親をアクセスしたいなら その親を取得する方法を指定しましょう 子ダイアログを表示(実行)する前に 親側から子側にデータを受け渡すなら 子側に フィールド準備しておいてそのフィールド設定してから ShowDialogを実行する たとえな Form2側に public string myEditData; といったフィールドを準備して Form2 form = new Form2(); frm.myEditData = listChoise; form.ShowDialog(); などとして実行 Form2のLoadイベントで textBox2.Text = myEditString; といった具合に初期化する -------------------------------- 子側から親にアクセスするなら frm.ShowDialog( this ); といった具合に親のオブジェクトを渡す 子側のLoadイベントで textBox2.Text = ((Form1)this.Owner).listChoise; といった具合に初期化してみましょう

trfnc223
質問者

お礼

ご回答ありがとうございました。 初期化がしっかりとできていないみたいでした。 Loadイベントに初期化しなければならたかったんですね。 無事値が取得できました。 ありがとうございます。