我有两个窗体 Form1  Form2在Form1中声明了一个变量并已赋值:
public string myuid; //记录登录名
myuid = textBox1.Text.ToString ();在Form2中想调用这个变量值:
Form1 f1 = new Form1();
label8.Text = f1.myuid;值没有传过来,请教下各位师兄,该如何写代码呀!谢谢!!!

解决方案 »

  1.   

    用属性啊
     private string strmyuid ;
    public string myuid 
    {
                get { return strmyuid ; }
                set { strmyuid  = value; }
    }
      

  2.   

    写个类吧,form1把值写到类里,form2再去调用
      

  3.   

    这样是得不到值的,因为你重新new的一个对象,里面肯定是空值!
    如果是在窗体 Form1上面弹出  Form2窗体的话,在 Form2窗体的构造中,引用Form1的对象为参数;如下: Form1:
     Form2 f2=new Form2();
     f2.show(this);//this表示当前窗体Form2:parivate string myuid;
    public Form2(Form1 f1)
    {
     this.myuid=f1.myuid;//这样可以得到值。
    }
     
      

  4.   

    XJMACCP 谢谢你的答案,但还是空值!
      

  5.   

    最简单的方法:在Form1中声明了一个变量并已赋值: 
    public static string myuid; //记录登录名   定义成静态
    Form1.myuid = textBox1.Text.ToString (); 在Form2中想调用这个变量值: 
    label8.Text = Form1.myuid;   //这里直接用类名访问。你测试下,应该没有问题。
      

  6.   

    你可以把:public string myuid定义成public static string myuid。即静态变量。
    不过如果团队开发最好别用静态变量,说不上其他人在那就给你把值改了。如果是在窗体 Form1上面弹出  Form2窗体的话,建议还有用三楼的