c#窗体间传递数据有好多种方法,说下个简单的:
    在要调用的窗体中添加被调用窗体字段,构造方法中传入被调用的窗体做参数,将被调用窗体的需要被调用的数据的访问修饰符设置为 public ,
将form1的 listbox 的访问修饰符设置为 public
这样就可以通过字段.属性 调用被调用窗体的数据了:
   public Form Form2{
       private Form1 form1;
       public FormGet(Form1 form){
          this.form1=form;
       }
       int index= form1.listbox.seletindex ;
   } 
当然而下面的也是可以呀
可以通过构造函数
 public Form1()
        {
            InitializeComponent();
        }
这是无参构造函数可以改
 public Form1(ListBox _lb)
        {
            InitializeComponent();
            lb=_lb;
        }
ListBox lb;
这样在form1实例化form2的时候就
form2 f2=new form2(listbox1);
f2.show();
这样在form2里面的lb就是form1的listbox1了
因为类是引用类型所以可以这样,,
还有别的窗体直接传递的方法,,我就不说了这个比较简单也常用