我有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时分配拥有的表单来分配所有权。 –