【问题标题】:Add a datagridview column from another form从另一个表单添加 datagridview 列
【发布时间】:2014-04-20 19:11:49
【问题描述】:

我有两个表单和一个位于 form1 中的 datagridview。我试图通过单击 form2 中的按钮来添加新列。像这样:

 Form2


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

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

    }

我该怎么做?

【问题讨论】:

    标签: c# datagridview


    【解决方案1】:
    Form1 form1 = new Form1();
    

    这将不起作用,因为您的真实 form1 已经存在,我想。而是在 form2 中创建对它的引用并将其加载到 form2 的构造函数中!

    步骤如下:

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

      form2 = new Form2(this);

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

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

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

    【讨论】:

    • 我试过你写的但还是不行。没有错误,但信息没有在表单之间传递。 ):
    • “没有错误” 不,这是一个开始!您的代码并没有真正传递信息,是吗?它在 DGV 中创建了一个新列“test”。您是否从 ButtonClick 中删除了 Form1 form1 = new Form1(); 行?它会隐藏对真实形式的引用..
    • 我做不到:form2 = new Form2 (Form1 this);当我打开 form2 时在 form1 中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 2012-06-08
    • 2012-05-25
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多