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";