Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据从一个表单传递到另一个表单_C#_Winforms - Fatal编程技术网

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

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

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

我试过这个

它给了我一个错误

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;,做:

然后显示它。

如果从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


我怎么能用另一种形式来称呼它呢
class Form2 {
    public string Value { get; set; }
    public Form2(string value) {
        Value = value;
    }

    public void Form2_Load() {
        textBox1.Text = Value;
    }
}
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;
    }
}