C#-两个表单之间的数据传输

C#-两个表单之间的数据传输,c#,winforms,C#,Winforms,我有两张表格。第一个有一个文本框,第二个有一个devexpress数据网格。 我希望做到这一点: 首先单击一个按钮,form2打开。 如果我在form2的数据网格中单击一行,该值应显示在form1的文本框中。(form1已打开。) 我是个初学者。谢谢你的帮助 Form1 frm1 = new Form1(); frm1.textBox1.Text = gridView1.GetFocusedRowCellValue("ID").ToString(); frm1.Show(); 当我这样做时,

我有两张表格。第一个有一个文本框,第二个有一个devexpress数据网格。 我希望做到这一点: 首先单击一个按钮,form2打开。 如果我在form2的数据网格中单击一行,该值应显示在form1的文本框中。(form1已打开。) 我是个初学者。谢谢你的帮助

Form1 frm1 = new Form1();
frm1.textBox1.Text = gridView1.GetFocusedRowCellValue("ID").ToString();
frm1.Show(); 

当我这样做时,一个新的表单打开。我不想开一张新表格。Form1已打开。我想向其文本框中添加值。

您可以尝试类似的方法

单击frm1.SimpleButton时,此函数将被称为show your Form2。在Form2上,您必须设置InnerProperty(从您的datagrid?)a当您关闭Form2时,您可以使用此属性

private void SimpleButton_Click(object sender, EventArgs e)
{
  using (Form2 frm = new Form2())
  {
    frm.InnerProperty = "default text";
    DialogResult result = frm.ShowDialog();
    SimpleButton.Text = frm.InnerProperty;
  }
}

将表格1作为表格2的参考传递:

在您的按钮中,单击表单1上的处理程序以打开表单2

private void Button_Click(object sender, EventArgs e)
{
    Form2 frm2 = new Form2(this);
    frm2.Show();
}
表格2代码

private Form1 frm1;
// constructor (pass frm1 as reference)
public Form2(Form1 frm1) {
    this.frm1 = frm1;
}

//put this in your event handler for a row click in the grid
frm1.textBox1.Text = gridView1.GetFocusedRowCellValue("ID").ToString();

最后,我解决了这个问题

Application.OpenForms["form1"].Controls["textBox1"].Text = 
               gridView1.GetFocusedRowCellValue("ID").ToString();

谢谢您的帮助。

您需要发布更多相关代码。您是否每次都在创建新的Form1?你不应该引用Form1吗?然后在Form2上执行
form1.textBox1…