在一段可能需要几秒钟才能完成的C#代码的开始部分,我想显示一个非模态窗体,其中只有一个标签,上面写着“Please wait ...”非模态“状态”形式
WaitForm myWaitForm = null;
try
{
// if conditions suggest process will take awhile
myWaitForm = new WaitForm();
myWaitForm.Show();
// do stuff
}
finally
{
if (myWaitForm != null)
{
myWaitForm.Hide();
myWaitForm.Dispose();
myWaitForm = null;
}
}
问题:在代码的其余部分绑定线程之前,WaitForm没有完全显示。所以我只看到表格的框架。在德尔福(我的老脚跺脚),我会在Show()之后调用Application.ProcessMessages在C#中是否有等价物?在这种情况下可以使用罐装“状态”表单吗?有没有更好的方法来解决这个问题?
在此先感谢。 David Jennings
非常感谢。我从来没有看过BackgroundWorker。看起来它简化了多线程处理。对于这种特殊情况可能不是最好的。但我一定会在同一个应用程序中使用它。 – 2010-06-02 13:44:38