Предполагается, что Form1 открывает Form2.
В Form2 создайте Открытое свойство для предоставления TextBox другим классам:
public partial class Form2 : Form
{
public TextBox TB2
{
get
{
return this.tb2;
}
}
public Form2()
{
InitializeComponent();
}
}
В Form1 теперь вы можете использовать открытое свойство для доступа к TextBox в 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.