【发布时间】:2011-11-22 23:55:01
【问题描述】:
我有一个 GUI 我必须在其中导入一些文档,但是当我使用后台工作程序时,GUI 挂起,这一定不会发生,因为我使用的是后台工作程序,为什么会发生这种情况?请在下面找到代码..
void ImportNotes_ContextMenuStripItem_Click(object sender, EventArgs e)
{
if (!backgroundWorker_notesImport.IsBusy)
{
mainFrm.ProgressBar.Visible = true;
backgroundWorker_notesImport.RunWorkerAsync();
}
}
private void backgroundWorker_notesImport_DoWork(object sender, DoWorkEventArgs e)
{
ImportNotes();
}
private void backgroundWorker_notesImport_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
mainFrm.ProgressBar.Value = e.ProgressPercentage;
}
void ImportNotes() { }
【问题讨论】:
-
更新进度条的次数。如果你把进度条挂钩,挂起会消失吗?
-
通过GUI挂起,你的意思是窗口甚至不会重新绘制,不能调整大小等?还是说进度条没有更新?
-
此代码不会挂起您的 GUI。你一定漏掉了重要的部分
标签: c# .net user-interface backgroundworker