2013-12-10 55 views
1

我必須睡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 
    } 

你的工作將異步完成..

+0

好,謝謝!但是,如果我想要另一種形式,以顯示一些重要的輸出(需要大量的空間,更清潔的設計)。我在哪裏申報新表格並激活它? –

+0

我解決了!我很愚蠢!這只是調用這個backgroundWorker1.RunWorkerAsync(); –