Winforms:如何在打开第二个表单时在第一个表单上设置标签文本

时间:2012-07-10 13:33:35

标签: c# winforms

在我的Windows窗体应用程序中,我关闭一个窗体并打开另一个窗体:

MyApp.MySecondForm frmInst = new MyApp.MySecondForm();
frmInst.Show();
this.Hide();

但是在我这样打开之前,我在第一个表单中设置了标签文本,因为我想通知用户正在加载第二个表单。

想象一下,第二个表单的加载需要10秒,当我按下按钮以打开第二个按钮时,标签文本在第二个表单打开之前不会被更改。当我关闭第二个表单时,我回想起第一个表单,看到文本已经改变。

用户点击按钮后,我应该按照哪种方式设置标签文字?

提前致谢。

2 个答案:

答案 0 :(得分:1)

你是在异步发射那个10秒的进程吗?

如果没有,那就是造成延误的原因。它获取信息(10秒),然后更新GUI线程。

尝试使用BackgroundWorker: http://www.dotnetperls.com/backgroundworker

答案 1 :(得分:1)

您必须在Refresh()之前调用frmInst.Show()方法。因为在方法执行完毕之前图形不会刷新,除非你手动完成。