2014-03-07 20 views
0

我想添加加載動畫,而形式是loading..i試圖BackgroundWorker的,但我不能讓它work..plz幫我..如何添加加載動畫,而繁忙的

Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork 
    CharTz.Show() 
End Sub 

    Private Sub BackgroundWorker1_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged 
    loadingscreen.show() 
End Sub 

Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted 
    loadingscreen.close() 
End Sub 
+0

你在做裝載其餘的異步,並行或後臺線程? – TimG

+0

抱歉,但我只是個noob..what正在試圖做的是,我想展現chartz形式,但我需要大約3-4secs到show..now我希望它表現出一定的加載動畫,it..till該chartz形式彈出窗口.. – user3211476

+0

你能解釋更多關於「*它實際上不工作*」嗎?任何異常(如*無效的交叉線程異常*,或其他類型的異常)或您的'加載屏幕(不管它是什麼)不會出現?如果後者需要提供更多關於'加載屏幕'的信息,那就是'show()'和'close()'方法。 – har07

回答

1

所有的UI東西必須在UI線程來完成。從後臺工作人員顯示錶單是沒有意義的。顯示錶單是一個UI事物,所以需要在主UI線程上完成。我很確定,「大約需要3-4秒到顯示」並不是真的。它很可能需要3-4秒鐘做東西,但並不是說要帶那麼久表現最形式一部分。當它加載時,該表單必須做些事情,這會降低速度。 這是應該放在後臺工作線程中的東西。如果所有這些慢速邏輯都是在後臺線程中完成的,那麼表單將很快顯示出來,然後可以顯示某種動畫,直到後臺線程完成工作。

+0

hmmmm ...啓迪先生tnx ..:D – user3211476