C# 将信息从一个窗体发送到另一个窗体Windows窗体

C# 将信息从一个窗体发送到另一个窗体Windows窗体,c#,winforms,datagridview,C#,Winforms,Datagridview,我有一个问题:我必须填写表格。一个表单有dataGridView和一个按钮。单击按钮时,创建Form2,在其中输入信息。这些信息需要添加到第一个表单上的dataGridView中。但当我点击表单2中的“添加”按钮时, 我有一个错误NullReferenceException未处理(对象引用未设置为对象的实例)。请帮帮我 表格1 表格2 更新以下语句可以解决您的问题 private void Add_Click(object sender, EventArgs e) { add_waibi

我有一个问题:我必须填写表格。一个表单有dataGridView和一个按钮。单击按钮时,创建Form2,在其中输入信息。这些信息需要添加到第一个表单上的dataGridView中。但当我点击表单2中的“添加”按钮时, 我有一个错误NullReferenceException未处理(对象引用未设置为对象的实例)。请帮帮我

表格1

表格2


更新以下语句可以解决您的问题

private void Add_Click(object sender, EventArgs e)
{
    add_waibil_goods = new AddWaybilGoods();
    if (add_waibil_goods.ShowDialog(this) == DialogResult.OK)
    {
        dataGridView1.Rows.Add(add_waibil_goods.GoodsName2, add_waibil_goods.GoodsPrice2, add_waibil_goods.GoodsCount2);
        dataGridView1.Update();
    }
}
添加到dataGridView1时,您似乎引用了Form1中的属性。您还需要启动form2作为模式窗口。模式窗口将确保用户在应用程序继续之前填写正确的数据


要访问
Form2
中的
Form1
公共成员,您可以将相同的实例发送到构造函数中的Form1

请参阅以下代码:

表格1

private void Add_Click(object sender, EventArgs e)
{
    add_waibil_goods = new AddWaybilGoods(this); //parameterized constructor       
    add_waibil_goods.Show(this); //assign owner
    add_waibil_goods.Focus();
    dataGridView1.Rows.Add(GoodsName2,GoodsPrice2, GoodsCount2);
    dataGridView1.Update();
}
public partial class AddWaybilGoods : Form
{
    Waybil w_b = null;
    public string GoodsName1 = null;
    public string GoodsPrice1 = null;
    public string GoodsCount1 = null;

    public AddWaybilGoods(Waybil wb)
    {
        InitializeComponent();
        w_b= wb;
        Base base_ = new Base(Share.server_address, Share.login, Share.password, Share.database);
        base_.fill_combo(AddWaybilGoods1, "Goods", "GoodsName");
    }
    //... other methods
}
表格2

private void Add_Click(object sender, EventArgs e)
{
    add_waibil_goods = new AddWaybilGoods(this); //parameterized constructor       
    add_waibil_goods.Show(this); //assign owner
    add_waibil_goods.Focus();
    dataGridView1.Rows.Add(GoodsName2,GoodsPrice2, GoodsCount2);
    dataGridView1.Update();
}
public partial class AddWaybilGoods : Form
{
    Waybil w_b = null;
    public string GoodsName1 = null;
    public string GoodsPrice1 = null;
    public string GoodsCount1 = null;

    public AddWaybilGoods(Waybil wb)
    {
        InitializeComponent();
        w_b= wb;
        Base base_ = new Base(Share.server_address, Share.login, Share.password, Share.database);
        base_.fill_combo(AddWaybilGoods1, "Goods", "GoodsName");
    }
    //... other methods
}

您在哪一行收到异常?请解释一下。