WinForm程序,包含两个Form:Form1,Form2
现在的问题是:我在Form1中定义了一个public属性:
public string name
{
 get;
 set;
};
为什么我在Form2中却不能按下方的方式访问Form1中的这个name属性
Form1 fo=new Form1();
fo.name=....

解决方案 »

  1.   

    可以~~只是这个NAME是另个实例的NAME属性了
      

  2.   

    Form1打开Form2的时候需要传递参数
      

  3.   

    代码示例,注意红色部分:Form1.cs:
    public string name
    {
     get;
     set;
    }private void btn_open_form2_Click(object sender eventargs e)
    {
      Form2 f2=new Form2(this);  //注意this参数,this将Form1作为参数
      f2.Show();
    }
    Form2.cs:
    Form1 f1=new Form1();
    public Form2(Form1 args_f1)    //Form2的构造函数中,添加参数
    {
      f1=args_f1;
      InitializeComponent();
    }private void btn_get_Form1_name_Click(object sender,eventargs e)
    {
      MessageBox.Show("Form1窗体的name属性是:"+f1.name);
    }
      

  4.   

    简单来说,不SHOW出来不行。。
      

  5.   

    是的,用public string name
    {
    get;
    set;
    }
     是可以的