C# 将数据从一个表单传递到另一个表单

C# 将数据从一个表单传递到另一个表单,c#,winforms,C#,Winforms,我的一个项目中有两个表单。在form1中我有一个dataGridView,在form2中我有4个文本框。 在Form1中,我希望使用CellMouseClick事件从datagridview中获取变量中的值,然后将其传递给Form2中的文本框 我试过这个 表1:它给了我一个错误 public form(int id) { int x; x = dataGridView1.CurrentRow.Cells[0].Value.ToString(); } 以及我在表单2中想用a做什么

我的一个项目中有两个表单。在form1中我有一个dataGridView,在form2中我有4个文本框。 在Form1中,我希望使用CellMouseClick事件从datagridview中获取变量中的值,然后将其传递给Form2中的文本框

我试过这个

表1:它给了我一个错误

public form(int id)
{
    int x;
    x = dataGridView1.CurrentRow.Cells[0].Value.ToString();
}
以及我在表单2中想用a做什么,你可以用给定的先决条件创建一个类型

如果这意味着一个整数,那么就这样吧:

public MyForm(int id) {
  SomeIdProperty = id;
}
而不是
var form=new MyForm(),请执行以下操作:

var form = new MyForm(idOfTheRelevantThing);

然后显示它。

如果您正在显示来自
Form1
Form2
,则可以使用构造函数传递值。大概是这样的:

class Form2 {
    public string Value { get; set; }
    public Form2(string value) {
        Value = value;
    }

    public void Form2_Load() {
        textBox1.Text = Value;
    }
}
然后执行此操作(在
Form1.cs中):

表格1

表格2


我怎么能用另一种形式来称呼它呢
Form2 f = new Form2("the value here");
f.ShowDialog(); //or f.Show();
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        var frm2 = new Form2(dataGridView1.Rows[0].Cells[0].Value.ToString());
        frm2.Show();
    }
}
public partial class Form2 : Form
{
    public Form2(string s)
    {
        InitializeComponent();
        textBox1.Text = s;
    }
}