Tweet
C# で Form2からForm1のtextBox1の値を変更する
モーダルで表示したForm2の値をForm1に反映させる
Form1内のtextBox1は "Form1.Designer.cs"にあるとおり、private なのでForm2から参照できない。
private System.Windows.Forms.TextBox textBox1;
そのためForm1にtextBox1.Textにアクセスするpublicな変数を用意してForm2から参照させる。get , set はアクセサ。
■Form1.cs
public partial class Form1 : Form
{
// Form2
public Form2 cForm2;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Form2 の新しいインスタンスを生成する
cForm2 = new Form2(this);
// Form2 をモーダルで表示する
cForm2.ShowDialog();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public string TextBox1Text
{
get
{
return textBox1.Text;
}
set
{
textBox1.Text = value;
}
}
}
■Form2.cs
public partial class Form2 : Form
{
//Form1の宣言
Form1 cForm1;
public Form2(Form1 cForm1)
{
InitializeComponent();
// cForm1のインスタンスを作成
this.cForm1 = cForm1;
textBox1.Text = this.cForm1.TextBox1Text;
}
private void button1_Click(object sender, EventArgs e)
{
cForm1.TextBox1Text = textBox1.Text;
}
public string TextBox1Text
{
get
{
return textBox1.Text;
}
set
{
textBox1.Text = value;
}
}
}
関連記事
- WebBrowser の表示完了を待つ
- 変数のスコープとは
- 5000円代で評価も高いペダル無し自転車
- jqueryプラグインのリッチテキストエディタ(WYSIWYG)
- WordPress + SQLite(PDO for WordPress )プラグイン動作リスト