2011-10-18 23 views
0

如何從Form1中使用C#傳2物體在的WinForms窗口2如何通過2個對象從Form1以FORM2

我知道通過一個對象是這樣的:

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

預先感謝

+2

什麼是這裏的問題形式G =新FRM2(OBJ1,OBJ2); g.ShowDialog();在frm2(,)構造函數中添加參數以重載。 –

回答

3

製作構造以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; } 
    ..... 
    ...... 
} 
+0

如果我的回答可以幫助您,請給我們反饋 –

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

第二種方法是寫一個自己的構造,其接受這兩個對象。如果它對錶單是強制性的,那麼隱藏默認構造函數,並強制傳遞這兩個對象。

1

只需修改FRM2的構造函數接受2個參數:

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