2011-03-05 69 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事件的第二種形式。從第一種形式訂閱它。在事件處理程序中,您應該更新標籤