从另一个类访问一个表单上的标签

时间:2012-01-12 10:39:32

标签: c# wpf winforms controls

  

可能重复:
  Best way to access a control on another form in WinForms?

我知道这是一个令人眼花缭乱的明显问题,但我是一名新手,发现它有点令人困惑,所以任何帮助都会非常感激......

我有一个mainform和第二个表单,我们称之为form2。 form2上有一些标签。我想从mainform类/ cs表中控制这些标签的文本。无论我尝试什么,我似乎无法访问它们。我已经将其中一些设置为公开,我仍然无法在mainform类中“看到”它们。

mainform是wpf(和项目一样)。 form2是一个常规的winform。

如果有人帮助我,我会永远感激。

谢谢,

1 个答案:

答案 0 :(得分:9)

由于您的标签是私密的,因此只能从所有者表单访问它们。不要试图将它们改为公开,这是一种错误的做法(公众成员是邪恶的)。

添加一个更新标签的公共方法,以便从第二个表单中访问它。

窗口2:

public void SetTextForLabel(string myText)
{
    this.myLabel.Text = myText;
}

的MainForm:

myForm2Instance.SetTextForLabel("my text");