2011-03-05 59 views
1

如果我在一个表单中设置了一个字符串的值,然后通过单击第二个表单上的“更新”按钮在另一个表单上显示标签。这部分工作。C#中的自动标签文本更新

我想知道如何让标签在第一个窗体关闭后更新它的文本值。

如果我尝试这样做:

公共静态无效Subject_select() {

L_Subject.Text = Global.Subject; 

    } 

然后用流动的:

msinForm.Subject_select(); 

然后引发错误: 的对象引用对于非静态字段,方法或属性'app1.mainForm.L_Subject'

需要

回答

2

我认为更好的方法是创建Global event并在第一个表单文本发生更改时触发它,并且在第二个表单中订阅事件并更改事件处理程序中的文本。

查看全球的事件here。如果你将通过静态事件来防止内存泄漏。

+0

对不起,我对C#很新,能给我举个例子吗? – Gerharddc 2011-03-05 10:25:49

+0

我已经更新了我的答案,请检查它。 – 2011-03-05 10:39:43

0

最好的办法是使用FormClosed事件的第二种形式。从第一种形式订阅它。在事件处理程序中,您应该更新标签