2009-12-31 48 views
0

我有一個WinForm應用程序(.net 3.5),當您第一次選擇一個人時,它將檢索那裏的所有人數據以查看整個計劃。這可能需要長達5秒。我需要向我的用戶(,僅限於)顯示程序以某種方式加載/運行。我也需要讓它們保持在屏幕上,直到它完成。做的應用程序的設計,他們可以跳到應用程序的任何地方。顯示進度,直到操作完成winform

我想也許是Background Worker是我想要的,但因爲我想讓他們留在他們的位置,直到它加載我不再確定(???)。

我的應用程序正在做的是填充〜20個用戶控件。每個用戶控件都會向本地SQL Express數據庫查詢其信息。因此,我在父窗體上有一個方法,可以通過「繪製」所有用戶控件,這就是他們正在等待的內容。

想法?我最好的選擇是什麼。

回答

3

您可以創建一個具有進度條的ProgressBarForm。做一個ShowDialog來使它成爲模態。

並訂閱BackgroundWorker的ReportProgress以使您的進度條進度。

2

BackgroundWorker是一個很好的選擇,去爲它 - 它是專爲您的情況描述。

+0

我可以讓背地面工作人員彈出一個進度指示器,這會讓他們在那裏? – 2009-12-31 15:09:05

+0

這是這樣做的一種方式,打開一個模式對話框直到後臺工作完成。 – 2009-12-31 15:12:26

+0

這是做錯的方法。您的用戶界面仍然死亡,表單的標題將更改爲「不響應」。 BGW必須完成繁重的工作。 – 2009-12-31 17:31:50

0

如果鎖定的模態窗口的進度條在背景工作者拋出的事件上發生變化,該怎麼辦? Winforms不是我的包,但是這樣的東西可以工作。

相關問題