在表单之间发送列表

本文关键字:列表 之间 表单 | 更新日期: 2023-09-27 17:57:02

如何在两个表单之间发送列表?假设我有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。希望我解释得有些可以理解。

在表单之间发送列表

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

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

表单 1 单击事件

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接受列表。

如注释中所述,在 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;