如何从form1传递2个对象到form2

本文关键字:对象 form2 2个 传递 form1 | 更新日期: 2023-09-27 18:11:27

如何在winforms中使用c#将2个对象从form1传递到form2

我知道这样传递一个对象:

Form G = new frm2(sc);
G.ShowDialog();

提前致谢

如何从form1传递2个对象到form2

创建如下2个参数的构造函数:

public partial class frm2 :Form
    {
         public frm2(List<int> object1, List<string> object2)
        {
        }
         .....
         ......
    }

和调用:

Form G = new frm2(object1, object2); 
G.ShowDialog(); 

第二选项:

你可以在表单中创建属性,并像下面这样传递它:

Form G = new frm2(); 
G.Object1 = object1;
G.Object2 = object2;
G.ShowDialog(); 

你的frm2将像这样:

public partial class frm2 : Form
{
     public frm2()
    {
    }
     public List<int> Object1 { get; set; }
     public List<string> Object2 { get; set; }
     .....
     ......
}

为什么不创建一个带两个参数的构造函数呢?

Form G = new frm2(obj1, obj2);
G.ShowDialog();
与frm2:

public partial class frm2 : Form {
    private Object1 _obj1;
    private Object2 _obj2;
    void frm2(Object1 obj1, Object2 obj2) {
        this._obj1 = obj1;
        this._obj2 = obj2;
    }
}

只需修改frm2的构造函数以接受2个参数:

public void frm2(object obj1, object obj2)
{
    //to do...
}

第二个方法是编写一个自己的构造函数来接受这两个对象。如果表单是强制的,那么隐藏默认构造函数,并强制传递两个对象。