C# 从其他窗体添加datagridview列

C# 从其他窗体添加datagridview列,c#,datagridview,C#,Datagridview,我有两个表单和一个datagridview,它位于表单1中。我试图通过单击表单2中的按钮来添加一个新列。如下所示: Form2 private void button1_Click(object sender, EventArgs e) { Form1 form1 = new Form1(); form1.dataGridView1.Columns.Add("test" , "test"); } 我该怎么做 Form1 form

我有两个表单和一个datagridview,它位于表单1中。我试图通过单击表单2中的按钮来添加一个新列。如下所示:

 Form2


    private void button1_Click(object sender, EventArgs e)
    {
        Form1 form1 = new Form1();

        form1.dataGridView1.Columns.Add("test" , "test");

    }
我该怎么做

Form1 form1 = new Form1();
这将不起作用,因为您的真实表格1已经存在,我按。而是在form2中创建对它的引用,并将其加载到form2的构造函数中

以下是步骤:

  • form2变量中对form1的本地引用:
    form1 form1
  • 打开form2时,在构造函数中传递对form1的引用:

    form2=新的form2(本)

  • 将其存储在form2上构造函数的本地引用中:

    public Form2(Form1 form1_)
    {
        InitializeComponent();
        form1 = form1_;
    }
    

  • 现在,您已经准备好使用Form1及其公共属性和控件。但是,要使用
    form1.dataGridView1
    ,必须首先将其公开。(或创建对它的公共引用…)

    我尝试了你写的东西,但仍然不起作用。没有错误,但信息不会在表单之间传递。):“没有错误”不,这是一个开始!你的代码并没有真正传递信息,是吗?它将在DGV中创建一个新列“test”。您是否删除了行
    Form1 Form1=new Form1()从按钮单击?它会隐藏对真实形式的引用..我不能这样做:form2=新form2(Form1 this);当我打开form2时,在form1中