我有2 Form1和Form2的形式。在Form1中,我有一個按鈕,它將在按鈕單擊時打開Form2。在Form2中,它使用Form1中的標籤文本進行一些設置。當關閉Form2時,Form1中的標籤文本將基於該設置進行更新,但是我可以使標籤文本更新。以下是更新Form1中標籤文本的代碼。我對文本進行了硬編碼以模擬情況。強制Winform控件更新
Form1中
public void languageChange()
{
labelControl5.Text = "AAAAAA";
labelControl5.Invalidate();
labelControl5.Update();
labelControl5.Refresh();
Application.DoEvents();
}
在窗口2,我有下面的代碼火languageChange功能在Form1上。
private void innoLanguage_FormClosed(object sender, FormClosedEventArgs e)
{
Main_new main = new Main_new();
main.languageChange();
}
當form2關閉但它不更新標籤文本時,它調用了Form1中的函數。
我覺得我犯了一個錯誤,但我無法弄清楚。我如何做這項工作,請幫助。
您正在創建一個新的Form1,它不是打開您的Form2並且不可見的一個,嘗試在構造函數中傳遞創建表單或在使用show或showdialog時分配擁有的表單來分配所有權。 –