我的程序里有两个窗体  form1 和 form2
program。cs中 代码如下
    static class Program
    {
        [STAThread]
        private string userId=null;
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            form1 form_login = new form1();
            if (form_login.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new form2());
            }
        }
     }
form1返回ok之后,form2才能yunxing
我想知道有没有什么办法,可以把form1中的String类型的变量值,传递到form2去????

解决方案 »

  1.   

    把form1中string变量设成public
    Application.Run(new form2(form_login.变量名)); 
    在form2构造函数中接收一下
      

  2.   

    在Form2中定义一个属性,打开Form2前给属性赋值一下就可以了
      

  3.   

    xiexie
    form2在接受参数的时候,应该修改那个函数???
      

  4.   

    方法很多:比如可以用属性get{};set{},也可以用委托动态传递,甚至用静态static变量
      

  5.   

    1.你可以直接给form2加个构造函数,这个构造函数有参数,然后把form1得到的值赋给这个参数
    2.你可以再form2里加个属性或者public的变量之类的,然后实例化后show()方法之前,给这个属性或者变量赋值
      

  6.   


    你在哪个地方需要,就在哪个地方“=”呗, 比如说在form2_LOAD事件处理方法里{this.lable.text=form1.StaticVar;}
      

  7.   

    你可以写一个公共类,定义一个String 然后在两个FROM里调用