C# 如何将Form1的dataGridView1数据复制到Form2的dataGridView1
我想将数据从form1的datagridview1复制到form2的datagridview1 我正在努力:C# 如何将Form1的dataGridView1数据复制到Form2的dataGridView1,c#,C#,我想将数据从form1的datagridview1复制到form2的datagridview1 我正在努力: private void button2_Click(object sender, EventArgs e) { ((form2)f).dataGridView1.Rows.Add(comboBox1.Text, comboBox2.Text, comboBox3.Text, textBox1
private void button2_Click(object sender, EventArgs e)
{
((form2)f).dataGridView1.Rows.Add(comboBox1.Text, comboBox2.Text,
comboBox3.Text, textBox1.Text);
}
它显示错误“对象引用未设置为对象的实例”。我不确定您的错误在哪里,但我不会尝试像您这样访问其他窗体控件。我要做的是在第二个表单上创建一个公共方法,并使用它来更新表单上的DataGridView 这是一个有效的例子 表格1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2 f = new Form2();
f.Show();
}
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Add(comboBox1.Text, comboBox2.Text, comboBox3.Text, textBox1.Text);
}
private void button2_Click(object sender, EventArgs e)
{
Form f = Application.OpenForms["Form2"];
if (f != null) //Make sure we have a form object
{
((Form2)f).SetDataGrid(new string[]{comboBox1.Text, comboBox2.Text, comboBox3.Text, textBox1.Text});
}
}
}
表格2
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public void SetDataGrid( string[] data)
{
dataGridView1.Rows.Add(data);
}
}
有许多对象可能导致引用错误。我最好的猜测是变量
f
,您能说明您在何处以及如何创建它吗?公共部分类form1:Form{System.Windows.Forms.Form f=System.Windows.Forms.Application.OpenForms[“form2”];public Order()明白了吗,先生?还是没有?你需要提供更多的细节,和一个最小的测试用例,这样我们才能理解发生了什么。从我们这方面来说很难猜测。