2013-01-24 57 views
0

我工作的一個winforms應用程序與數據庫中的很多作品的背景資料,以及90%的我的形式需要從數據庫中加載上一些初始數據。顯示形式,並獲取同時

我被告知要使用線程來顯示錶單,然後去取數據並用數據填充表單,否則客戶不能看到表單,直到郵遞員轉到數據庫並返回數據:)

我以前做了一些簡單的任務,線程,但是這種情況是有點混亂給我。我有一個MainForm中這是MdiParent和其他形式MdiChild象下面這樣:

ChildForm child = new ChildForm { MdiParent = Program.mainForm }; 

和我的MainForm(該MdiParent是靜態的Program.cs

我不知道我是否應該使用ThreadBackgroundWorker?其他方案?

我會很樂意的方式更多,如果你的善良的答覆可以幫助我通過這個案件,並賦予我的瞭解不全面。謝謝。

回答

1

使用BackgroundWorker的是要走的最簡單的方法。它處理線程問題,捕獲異常並在UI線程上運行工作完成回調。

如果您正在使用C#4.5,然後等待/ asych也是一個不錯的辦法。

+0

所以,我要在每個窗體的Load事件中使用一個BackgroundWorker並給它一個方法(包含DB作品),並運行它,對嗎? –