将数据从Form2(textbox2)传输到Form1(textbox1)?

可能重复:
我想从Form2控制Form1

我是C#的新手,我在谷歌找不到我想要的答案,所以我希望有人可以帮助我。 我只是练习从表单到另一个表单传输数据(或传递,无论如何调用它)

这就是我所拥有的:

我有两种forms – Form1Form2
Form1包含一个文本框(名为txtForm1 )和一个按钮(名为btnForm1 )。
Form2包含一个文本框(名为txtForm2 )和一个按钮(名为btnForm2 )。

运行应用程序后,通过单击按钮btnForm1 ,用户打开Form2 。 用户在文本框中写入的文本( txtForm2 )应该转移到Form1的文本框( txtForm1 ,该按钮被禁用)。

我怎么做这个转移? 请帮忙。

编辑:
好的,我需要明确这是我的所有代码:

Form1 (打开Form2的按钮):

  private void btnForm1_Click(object sender, EventArgs e) { new Form2().Show(); } 

Form2 (关闭Form2的按钮):

  private void btnForm2_Click(object sender, EventArgs e) { this.Close(); } 

我没有。 (我是新手)

创建一个公共变量并将其传递给文本框中的值,然后传递到第二个表单上。

 public static string myVar; myVar = txtForm2.Text; 

当你返回第一个表格时: txtForm1.Text = Form2.myVar;

在你的Form2中你应该有一些像:

 private void btnForm2_Click(object sender, EventArgs e) { this.Hide(); } public String GettxtForm2() { return txtForm2.Text; } 

现在在form1中,您可以使用以下内容访问txtForm2:

 Form2 form2 = new Form2(); //on click btnForm1 show that form2 where you can edit the txtForm2 private void btnForm1_Click(object sender, EventArgs e) { form2.Show(); } //after you save the txtForm2 when you will focus back to form1 the txtForm1 will get the value from txtForm2 private void Form1_Enter(object sender, EventArgs e) { txtForm1.Text = Form2.GettxtForm2(); } 

您可以轻松修改所有这些逻辑可能发生的事件……

Form1

 public void SetTextboxText(String text) { txtForm1.Text = text; } private void btnForm1_Click(object sender, EventArgs e) { var frm = new Form2(this); // pass parent form (this) in constructor frm.Show(); } 

Form2

 Form _parentForm; public Form2(Form form) { _parentForm = form; } private void txtForm2_TextChanged(object sender, EventArgs e) { _parentForm.SetTextboxText(txtForm2.Text); // change Form1.txtForm1.Text } 

试试这个 ;)

在Form1上:

 private void button1_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(textBox1.Text); frm2.Show(); this.Hide(); } 

在form2上:

 public partial class Form2 : Form { public string textBoxValue; public Form2() { InitializeComponent(); } public Form2(string textBoxValue) { InitializeComponent(); this.textBoxValue = textBoxValue; } private void Form2_Load(object sender, EventArgs e) { textBox2.Text = textBoxValue; }