別フォームのプロパティを参照する方法を紹介します。
以下サンプルです。
Form2から、Form1のテキストボックスの値を取得します。
1.Form1にコントロールの値を返すプロパティを定義します。
public string Form1_Text
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}
Public Property Form1_Text() As String
Get
Return TextBox1.Text
End Get
Set(ByVal value As String)
TextBox1.Text = value
End Set
End Property
2.Form1からForm2画面を開くときに、下記のようにOwnerプロパティに”this”を設定します (Form1への記述です) 。
Form2 form2 = new Form2();
form2.Owner = this;
form2.ShowDialog();
Dim from2 As Form2 = New Form2()
Form2.Owner = Me
Form2.ShowDialog()
3.Form2に対し、1で定義したForm1のプロパティを呼び出す処理を記述します。this.Ownerプロパティを使用します。
((Form1)this.Owner).Form1_Text;
CType(Me.Owner, Form1).Form1_Text