Winforms C Windows窗体-要动态更新文本框值吗

Winforms C Windows窗体-要动态更新文本框值吗,winforms,Winforms,我有两个表单,多个文本框看起来都一样 如果我在form1上更改了tb1的值,则form2上的tb1应该可以动态更新,而不必再次打开form2,依此类推。假设form1打开了form2 在Form2中,创建公共属性以向其他类公开文本框: public partial class Form2 : Form { public TextBox TB2 { get { return this.tb2; } }

我有两个表单,多个文本框看起来都一样


如果我在form1上更改了tb1的值,则form2上的tb1应该可以动态更新,而不必再次打开form2,依此类推。

假设form1打开了form2

在Form2中,创建公共属性以向其他类公开文本框:

public partial class Form2 : Form
{

    public TextBox TB2
    {
        get
        {
            return this.tb2;
        }
    }

    public Form2()
    {
        InitializeComponent();
    }

}
在Form1中,现在您可以使用public属性访问Form2中的文本框:

public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();
    }

    private Form2 f2 = null;

    private void button1_Click(object sender, EventArgs e)
    {
        if (f2 == null || f2.IsDisposed)
        {
            f2 = new Form2();
            f2.TB2.Text = this.tb1.Text;
            f2.Show();
        }
    }

    private void tb1_TextChanged(object sender, EventArgs e)
    {
        if (f2 != null && !f2.IsDisposed)
        {
            f2.TB2.Text = this.tb1.Text;
        }
    }

}
请注意f2字段,它跟踪是否已打开Form2的实例