【发布时间】:2010-12-23 21:57:45
【问题描述】:
我需要在打开文件时显示进度对话框,这是一个耗时的操作。为此,我在我的打开文件函数中使用以下内容:
//some code
...
...
...
bool done = false;
//Show progress in a separate thread.
System.Threading.ThreadPool.QueueUserWorkItem((x) =>
{
using (var progressDialog = new ProgressDialog())
{
progressDialog.TopMost = true;
progressDialog.Show();
while (!done)
{
if(progressDialog.Message != this.strProgressMsg)
progressDialog.Message = this.strProgressMsg;
Application.DoEvents();
}
progressDialog.Close();
}
});
....
....
done = true;
....
....
问题: 进度条对话框有时会显示,有时不会。我的文件打开函数在主线程中运行。有人可以指出我正确的检测为什么会发生这种情况吗?
【问题讨论】:
标签: c# multithreading