访问标签从另一个类
Possible Duplicate:
Best way to access a control on another form in WinForms?访问标签从另一个类
我知道这是一个眩目的明显的问题,但我一个C#新手,觉得有点混乱,所以任何帮助,将不胜感激......
我有一个mainform和第二个表单,我们称它为form2。 form2上有一些标签。我想从mainform class/cs表格中控制这些标签的文本。无论我尝试什么,我似乎都无法访问它们。我已经把它们中的一部分公布了,我仍然无法在“mainform”类中“看到”它们。
mainform是wpf(就像项目一样)。 form2是一个常规的winform。
如果有人会帮助我,我会永远感激。
感谢,
和你的标签是私有的,它们可以从只有所有者的形式访问。不要试图将它们改为公开,这是一种错误的做法(公众成员是邪恶的)。
添加一个更新标签的公共方法,以便从第二个表单中访问它。
窗口2:
public void SetTextForLabel(string myText)
{
this.myLabel.Text = myText;
}
的MainForm:
myForm2Instance.SetTextForLabel("my text");
谢谢ken,当我把你在mainform中建议的代码放到“SetTextForLabel”下面时,会出现一条红色的波浪线,并出现以下错误:错误'System.Windows.Forms.Form'不包含' SetTextForLabel“,并且没有找到接受类型为”System.Windows.Forms.Form“的第一个参数的扩展方法”SetTextForLabel“(您是否缺少using指令或程序集引用?) – sotiris 2012-01-12 10:55:26
错误消息表示您正在尝试使用一个“Form”类型的实例,而不是你自己的“Form2”类型。在你的错误周围发布几行,以便我们帮助... – ken2k 2012-01-12 11:04:19
谢谢Ken。在类的顶部,我声明了表单 - public static Form WaitFormV; ---然后在一个进度改变的事件进一步下来,我有--- WaitFormV = new DBWaitForm(); WaitFormV.ShowDialog(); WaitFormV.SetTextForLabel(“my text”); – sotiris 2012-01-12 11:13:29
http://*.com/questions/8566/best-way-to-access-a-control-on-another-form -in-winforms – 2012-01-12 10:40:51
谢谢Uwe,我已经那么做了,并且不理解它。 – sotiris 2012-01-12 10:47:22
如果你不明白[“创建一个属性”](http://*.com/a/8573/366904),现在是时候得到一本关于C#的书并学习语言...... – 2012-01-12 10:53:38