可能重复:
Best way to access a control on another form in WinForms?
我知道这是一个令人眼花缭乱的明显问题,但我是一名新手,发现它有点令人困惑,所以任何帮助都会非常感激......
我有一个mainform和第二个表单,我们称之为form2。 form2上有一些标签。我想从mainform类/ cs表中控制这些标签的文本。无论我尝试什么,我似乎无法访问它们。我已经将其中一些设置为公开,我仍然无法在mainform类中“看到”它们。
mainform是wpf(和项目一样)。 form2是一个常规的winform。
如果有人帮助我,我会永远感激。
谢谢,
答案 0 :(得分:9)
由于您的标签是私密的,因此只能从所有者表单访问它们。不要试图将它们改为公开,这是一种错误的做法(公众成员是邪恶的)。
添加一个更新标签的公共方法,以便从第二个表单中访问它。
窗口2:
public void SetTextForLabel(string myText)
{
this.myLabel.Text = myText;
}
的MainForm:
myForm2Instance.SetTextForLabel("my text");