1

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

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

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

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

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

提前致谢。

4

2 回答 2

1

你是在异步触发那个 10 秒的过程吗?

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

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

于 2012-07-10T13:35:09.423 回答
1

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

于 2012-07-10T13:44:17.450 回答