Second Form 可以更改 First Form 的文本吗?
Can a Second Form change First Form's text?
我的表格2是用表格1打开的,像这样:
Form2 fm2 = new Form2();
fm2.Show();
那么现在,我的表单 2 可以更改当前表单 1 的 TextBox 中的文本吗?
我试过使用以下方法:
Form1 fm1 = new Form1();
fm1.textBox_A.Text = "123";
但它不起作用。
哦,我刚刚找到了一种方法来做我想做的事情。
对于 form2:
Form1 fm1;
public Form2(Form1 _Form1)
{
fm1 = _Form1;
InitializeComponent();
...
}
然后表格1:
private void Form1_Load(object sender, EventArgs e)
{
Form2 fm2 = new Form2(this);
fm2.Show();
}
public string ChangeText
{
get { return this.textBox_A.Text; }
set
{
this.textBox_A.Text = value;
}
}
所以现在我可以在表单 2 中使用以下内容来通过 Form2 更改当前 Form1 中的文本:
fm1.ChangeText= "YAAAAAAAAAAAAAAAA";
第一步你应该在 Form2 中添加新的构造函数
System.Windows.Forms.Form fm1;
public Form2(System.Windows.Forms.Form frm1)
{
this.fm1 = frm1;
InitializeComponent();
}
那就这样写吧
fm1.textBox_A.Text = "123";
我的表格2是用表格1打开的,像这样:
Form2 fm2 = new Form2();
fm2.Show();
那么现在,我的表单 2 可以更改当前表单 1 的 TextBox 中的文本吗?
我试过使用以下方法:
Form1 fm1 = new Form1();
fm1.textBox_A.Text = "123";
但它不起作用。
哦,我刚刚找到了一种方法来做我想做的事情。
对于 form2:
Form1 fm1;
public Form2(Form1 _Form1)
{
fm1 = _Form1;
InitializeComponent();
...
}
然后表格1:
private void Form1_Load(object sender, EventArgs e)
{
Form2 fm2 = new Form2(this);
fm2.Show();
}
public string ChangeText
{
get { return this.textBox_A.Text; }
set
{
this.textBox_A.Text = value;
}
}
所以现在我可以在表单 2 中使用以下内容来通过 Form2 更改当前 Form1 中的文本:
fm1.ChangeText= "YAAAAAAAAAAAAAAAA";
第一步你应该在 Form2 中添加新的构造函数
System.Windows.Forms.Form fm1;
public Form2(System.Windows.Forms.Form frm1)
{
this.fm1 = frm1;
InitializeComponent();
}
那就这样写吧
fm1.textBox_A.Text = "123";