C#窗口间的值传递

来源:百度知道 编辑:UC知道 时间:2024/06/07 04:50:17
在Form1里面放着一个listview,点击button1,打开Form2,然后我想在Form2获取Form1里listview的内容,要怎么写?假设listview里面有5行的内容。。。
谢谢了。。。

你啊.在Form2里加一个变量.就是listview咯.
然后给Form2的构造函数加一个参数.参数类型就是listview.
在Form2的构造函数里加上:this.listview=listview;

在Form1里要打开Form2的时候这么写:
Form2 f2=new Form2(this.listview);
f2.Show();

OK.现在你就可以直接Form2里面对你在Form2里声明的变量listview操作了.它的值就是从Form1里传过来的.

给Program类加个字段
public static Form1 frm;
把Main函数里的
Application.Run(new Form1());
改成
frm=new Form1();
Application.Run(frm);
这样你在任意类中都可以引用这个变量了
比如你在Form2里要对Form1里的listview操作
就这样写
Program.frm.listview.XXXXXX
不过这样要把listview修饰词改成public,不安全,
最好的办法就是在Form1里写个public方法专门用来处理listview,然后在Form2里调用这个方法。

构造参数传

做一个构造方法,在构造方法里边传你自己需要的集合