我必须睡觉我的主打5次,每次暂停10秒以完成某项任务。 问题是我的主窗口在持续时间内冻结。所以,我想展示一个没有冻结的弹出窗口。
我在我的主表单中添加了一个后台工作者:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// ... how do I involve this?
}
当我按下主表单上的按钮时,它会执行以下操作:
BussyWindow bussyWindow = new BussyWindow();
bussyWindow.ShowDialog();
然后我的主要形式进入循环约50秒。
我试过了:
BackgroundWorker bw = new BackgroundWorker();
bw.RunWorkerAsync(bussyWindow);
我被困住了!下一步该尝试什么?
答案 0 :(得分:1)
如果您使用的是BackgroundWorker,则不需要其他表单,请尝试以下操作:
BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += bw_DoWork;
bw.RunWorkerAsync();
private void bw_DoWork(object sender, DoWorkEventArgs e)
{
// do your work here
}
您的工作将以异步方式完成..