代码之家  ›  专栏  ›  技术社区  ›  AntonioCS

访问新窗体上的控件

  •  0
  • AntonioCS  · 技术社区  · 17 年前

    Form tempform = new Form2();
    tempform.Show();
    

    在我的Form2代码中,我有一个标签,我现在需要更改文本。

    我试过:

    tempform.label1.value = "new text"
    

    这不起作用,我甚至尝试使用控件集合访问,但我想我把它弄糟了。我有什么办法可以拿到标签吗?或者是否有任何方法可以将值传递给该新表单,然后让该表单更改标签文本。

    2 回复  |  直到 17 年前
        1
  •  7
  •   Misko    17 年前

    如果在创建表单时,标签值只应设置一次,则使用Form2的构造函数,如下所示:

    public Form2(string labelValue)
    {
      _labelValue = labelValue;
    }
    

    然后在创建表单时调用该构造函数。

    public string LabelValue
    {
      get { return label1.Text; }
      set { label1.Text = value; }
    }
    

    Form2 newForm = new Form2(); // Assign object to a Form2 instead of Form
    newForm.LabelValue = "new text";
    newForm.Show();
    
        2
  •  2
  •   Joel Coehoorn    17 年前

    控制有 protected 默认情况下访问。你可以把它改成 public ,或者您可以将方法/属性添加到form2类以设置标签并调用该标签(通常首选后一种方法来保留封装,因为设计器可能希望覆盖您的公共更改)。