两个winform之间 的数据要怎么传递 
比如我在form1里产生很多数值  那我全都要传到form2的特定控件上 要怎么传递呢
能不能把form1 和form2上分别要写什么代码都说一说

解决方案 »

  1.   

    写在form2的构造函数里就行了
    form2 frm = new form2(你要传递的数据);
      

  2.   

    在form2里你要写它的构造函数的啊form2中的代码示例:
    private string a;
    private string b;
    public form2 (string a,string b)// a b 为你要传递的参数
    {
         this.a=a;
         this.b=b;
    }form1中传递参数时的代码示例:
    form2 frm = new form2("参数1","参数2");
    frm.Show();当然你也可你将你要传递的参数封装成一个class传递这个class的对象即可。
      

  3.   

    写一个类,
    将form1里的数据写赋值到类class里,
    再将他传递到form2。    public class Model//类
        {
    public class ShareUser
            {            int _A;            public int A
                {
                    get { return _A; }
                    set { _A = value; }
                }
                string _B;            public string Comid
                {
                    get { return _B; }
                    set { _B = value; }
                }
    }
    }在Form1里
    Model.ShareUser share = new Model.ShareUser();
    private void ***(object sender, EventArgs e)
    {
                share.A = a;//你要赋的值
                share.B = b;
                  Form2 form2 = new Form2(class);//将赋好值的class传递到Form2
                form2.ShowDialog();//显示Form2
    }在Form2里
            Model.ShareUser C = new Model.ShareUser();
            public EditUser(Model.ShareUser D)
            {
                C = D;
                InitializeComponent();
                Textbox1.text=D.A;//将在Form1里赋值好的类赋值到form2,传参完毕
                Textbox2.text=D.B;
            }
      

  4.   

    Model.ShareUser share = new Model.ShareUser();
    private void ***(object sender, EventArgs e)
    {
                share.A = a;//你要赋的值
                share.B = b;
                  Form2 form2 = new Form2(share);//将赋好值的class传递到Form2
                form2.ShowDialog();//显示Form2
    }
      

  5.   

    用构造函数传当前窗体的UI.cs源窗体Form1,UI类:frmUI.cs
    目标窗体Form2
    在目标窗体Form2中:
    private frmUI _ui;
    public Form2(frmUI ui)
    {
    this._ui=ui;
    }
    此时把需要传递到目标窗体的数据,保存在public的属性或方法中。
      

  6.   

    [url=http://www.cnblogs.com/peterzb/archive/2009/06/30/1514336.htmlC# WinForm开发系列 - Form/Window[/url]
      

  7.   

    C# WinForm开发系列 - Form/Window
      

  8.   

    form2 frm = new form2(this);
      

  9.   

    class a{
        public static string a1;
        a(){...}
        a(参数1,参数2,参数3,...){...}
    }
    file1: form1{...};
    file2: form2{...}.
    file3: static xyz;
    三种方法:
    1.如class a;在form2中new class form1(参数1,参数2,参数3,...)。
    2.form1,form2独立,使用在另外的文件file3中变量来交换数据。
    3.form2中new form1();后通过form1中的static变量来传递参数。
    如class a:
    a aClass=new a();
    aClass.a1="...";
      

  10.   

    form1里面要写的代码中那句Form2 form2=new Form2(class)  
    那个class是form1里面已经new过的那个 share吗【  codeModel.ShareUser share=new Model.ShareUser();      】
    为什么我还是一直出错 :form2没有实现一个参数的重载
      

  11.   

    http://blog.sina.com.cn/s/blog_512ebb0b0100gd8v.html
    我也是新手,把你邮箱给我,我把我做好的发你
      

  12.   

    [email protected]  谢谢 谢谢