表格之间发送清单

时间:2014-04-07 11:32:52

标签: c# forms list

如何在两个表单之间发送列表? 让我们说我的form1看起来有点像......

public partial class form1 : Form
{
    public form1()
    {
         List<int> list1 = new List<int>();
         Form2 form2 = new Form2(int test);
         form2.show();
    }
}

另一种名为form2的形式看起来像......

public partial class form2 : Form
{
    public button1_click(object sender, EventArgs e)
    {
        List<int> list2 = new List<int>();
        list2.add(5);
        list2.add(test);
    }
}

现在我的问题是 - 如何将list2从form2发送到form1并使list1 = list2。 希望我解释说有些可以理解。

2 个答案:

答案 0 :(得分:1)

如评论中所述,在Form1中创建一个带有List<T>的构造函数:

public partial class form1 : Form
{
    private List<int> _list;
    public Form1(List<int> list)
    {  
        this._list = list;
    }
}

按钮点击:

public button1_click(object sender, EventArgs e)
{
    List<int> list2 = new List<int>();
    list2.add(5);
    list2.add(test); //assuming this is a typo?

    Form1 myform = new Form1(list2);
}

您还可以在Form1上创建一个属性,并在实例化后将列表分配给它:

Form1 myform = new Form1();
myform.MyList = list;

答案 1 :(得分:0)

您必须创建接受list as a parameter form2 构造函数。

public partial class Form2 : Form
{
   private List<int> listofInt;
   public Form2(List<int> list)
   {  
     listofInt = list;
   }
}

Form1 点击事件

public button1_click(object sender, EventArgs e)
{
 List<int> list = new List<int>();
 list.Add(1);
 list.Add(2);
 list.Add(3);
 Form2 myform = new Form2(list2);
}

此处Form2 constructor接受列表。