如何将2个对象从form1传递给form2

时间:2011-10-18 06:48:08

标签: c# windows-mobile

如何使用C#

在winforms中将form1从form1传递到form2

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

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

提前谢谢

4 个答案:

答案 0 :(得分:3)

使用如下两个参数构建构造函数:

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; }
     .....
     ......
}

答案 1 :(得分:1)

为什么不让构造函数接受两个参数?

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;
    }
}

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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