我試着重寫OnLoad事件,但是在這個方法完成之前表單正在繪製。我打電話給base.OnLoad方法。但是,在活動期間,表單部分被吸引(看到了文物)。我注意到這一點,因爲我正在打數據庫,並且需要一些時間。在這種情況下,我收到一些數據並將其綁定到窗體的控件。請不要告訴我使用單獨的線程。爲了簡單起見,我寧願在數據加載時顯示繁忙的光標。在任何事物被繪製到屏幕之前是否有一個Form事件被調用?
更新:
好吧,我想你們/戈爾斯已經說服了我。我將使用一個單獨的線程。我並不知道BackgroundWorker,它很容易實現。現在我的表單正在快速加載。然後,突然間我的組合框被填充。但是,我想阻止用戶在填充之前點擊組合。使用Winforms的最佳方式/標準方式是什麼?有沒有辦法關閉表單中的輸入事件,直到後臺工作完成?
以防萬一您改變主意使用單獨的線程:使用BackgroundWorker,它真的很容易:http://dotnetperls.com/backgroundworker – Heinzi 2010-09-21 16:13:18
當UI線程繁忙時,無法顯示繁忙的遊標做數據庫訪問。在後臺線程上運行類似的操作可以讓你建立一個不錯的進度條或等待遊標。 – 2010-09-21 16:16:25
我決定使用後臺工作。但是現在我有一個後續問題。看到我更新的問題。 – bsh152s 2010-09-21 18:49:49