C#で親Formからデータを受け取る

Form1からForm2を開いて、Form2でForm1のデータを受け取る方法。
(ownerなんて引数があるのを知らずに、いつも別途渡していた orz)


Form1からForm2を開くとき、自分自身を引数(owner)として渡す。

var form2 = new Form2();
form2.ShowDialog(this);

Form2で自分のOwnerをForm1にキャストし、データを受け取る。

var form1 = (Form1)this.Owner;
MessageBox.Show(form1.hoge);