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

我的一个项目中有两种forms。 在form1中我有一个dataGridView和In form2我有4个TextBoxes。 在Form1中,我想使用CellMouseClick事件从datagridview获取变量值,然后将其传递给Form2中的TextBox

我试过这个。

form1#它给我一个错误

public form(int id) { int x; x = dataGridView1.CurrentRow.Cells[0].Value.ToString(); } 

以及我想在form2中做的事情

使用构造函数,您可以构造具有给定的构造先决条件的类型。

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

 public MyForm(int id) { SomeIdProperty = id; } 

而不是var form = new MyForm(); ,做:

 var form = new MyForm(idOfTheRelevantThing); 

然后展示它。

Form1中

 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(); } } 

窗体2

 public partial class Form2 : Form { public Form2(string s) { InitializeComponent(); textBox1.Text = s; } } 

如果从Form1显示Form2 ,则可以使用构造函数传递值。 像这样的东西:

 class Form2 { public string Value { get; set; } public Form2(string value) { Value = value; } public void Form2_Load() { textBox1.Text = Value; } } 

并执行此操作(在Form1.cs ):

 Form2 f = new Form2("the value here"); f.ShowDialog(); //or f.Show();