2011-11-18 31 views
1

在用戶搜索過去4年的客戶訂單時遇到這種情況。由於數據庫查詢需要很長時間,因此我想顯示一個彈出框,指出「請稍等。尋求結果'。所以當他們開始他們的搜索時,我想顯示消息框直到獲得結果,並且在那一點上我想關閉消息框。如何在長時間處理過程中正確顯示對話框 - VB.NET

我目前的方式,我知道是不正確的,因爲彈出框鎖定和狀態(沒有響應)。 會使用後臺工作人員過度殺人,還是應該使用進度條?

我現在的方式:

Dim frmProcessing As New ShowWaitForm 
'/ set location to open the form 
'/ set any custom message 
frmProcessing.Show() 

'//do db query and other stuff with result-> i CANNOT CHANGE THIS CALL NOR CAN I MODIFY HOW IT IS CALLED/FUNCTIONS 

frmProcessing.Close() 
frmProcessing = Nothing 
+0

進度條無法工作,因爲它仍然會在與任務相同的線程上運行。如果你想做任何UI更新,那麼你需要研究一些併發的解決方案,例如線程或後臺工作。 –

回答

2

我個人覺得背景工人是更好的選擇大部分時間。如果我想添加更多信息,它可以讓我稍後獲得更多的靈活性。我可以使用ProgressChanged事件更新進度條,稍後如果需要更改,我也可以做其他事情。

相關問題