winform的问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 19:36:53
我现在有2个界面,form1里声明了一个ArrayList的集合,我能不能在form2里面调用它呢,有没有这么一种方法啊?

直接调不好调.
你是想弹出一个窗口,编辑List里面的东东,然后放回去是把?

你这样,先在要弹出的窗口的构造函数中添一个参数,并定义一个全局变量.将这个全局变量做一个访问器

例子:
ArrayList list=null;

public ArrayList ObjectList
{
?get{return list;}
?set{list=value; }
}

public Form2(ArrayList al)
{
?this.list=al;
?//你自己的代码......
}

然后你就自己处理这个ArrayList吧.
处理完了,在调用方窗体的ShowDialog函数(最好用这个)之后,拿走被处理好的ArrayList.

例子(调用方的类Form1):
Form2 form=new Form2(alList);
form.ShowDialog(this);
this.alList=form.ObjectList;

(alList是调用方类中的一个ArrayList)

这样就可以拿到被Form2改好的ArrayList了!

可以啊,提供你两个方案
第一是作为参数传递给form2,也就是form2加一个重载构造函数,就是以Arraylist作为参数的
第二是form2设置一个ArrayList属性,new form2以后对这个属性赋值