2012-04-17 39 views
0

我的程序中有一段概述如下 - 在頁面加載時,標籤的可見性設置爲false。標籤在屬性更改爲可見時未顯示

lblLoading.visable = true 
lblloading.text = "loading please wait" 
UpdateData() 
lblloading.text = "Loading Complete" 

大約需要一分鐘或2運行了updateData,因爲它是做多件事情到數據庫 - 當我執行這個代碼,它檔並加載數據,然後做的時候我得到我的標籤,上面寫着加載完成,但在完成加載之前,我從來沒有看到標籤以告訴用戶它正在處理。有什麼辦法強制它顯示UpdateData()之前顯示,以便它顯示在加載時間?謝謝。

+0

可能重複[廣東話更新形式,而在一個循環?](http://stackoverflow.com/questions/5567296/cant-update- a-form-while-in-a-loop) – 2012-04-17 17:47:25

+0

這是一個常見問題。當您用一些計算密集型任務阻塞GUI線程時,GUI不會得到更新。最好的解決方案是使用'BackgroundWorker'組件來分散''UpdateData()'函數完成的工作,釋放GUI線程來更新GUI。 – 2012-04-17 17:47:56

+0

@CodyGray - 謝謝,以前從未使用過backgroundworker,將會查看並向其他人報告 – njj56 2012-04-17 17:53:19

回答

0

Me.Refresh 

打電話之前的UpdateData

+0

這似乎不工作或更新數據 - 視覺工作室不認識我。刷新和拋出錯誤 – njj56 2012-04-17 17:51:38

+0

VS是給你一個Me.Refresh錯誤?你正在使用VB.NET,正確。 – APrough 2012-04-17 18:50:09