我在Form1上的类属性上设置了一个值,但是当我尝试在Form2上访问它时它没有返回值,为什么?

时间:2013-07-04 08:24:00

标签: c# class properties

class User
{
    public string set_name;

    public string name
    {
        get
        {
            return this.set_name;
        }
        set 
        {
            this.set_name = value;
        }
    }
}

Form1

User id = new User();
id.name = textbox1.Text;

窗体2

User _name = new User();
label1.Text = _name.name;

2 个答案:

答案 0 :(得分:4)

我有一张纸,我在上面写上了我的名字。如果我然后得到一张完全不同的纸,我的名字就不会自动出现了。它在这里是相同的 - 这里有两个User个对象,完全不相关。如果您想要第一个name,则需要User对象传递给第二个表单。

答案 1 :(得分:1)

您可以将类创建为静态

static class User
{        
    public string set_name;

    public static string name
    {
      get
      {
        return this.set_name;
      }
      set 
      {
        this.set_name = value;
      }
}

并像这样获取和设置

User.name = textbox1.Text; // Form1

label1.Text = User.name; // Form2