2012-05-03 18 views
0

我有幾個報告都合併到同一個數據表中。用戶可以點擊幾個運行,然後點擊'查找記錄'按鈕同時運行它們。由於它們每個都需要很長時間,所以我想在狀態欄上更新用戶,因爲每個存儲過程都被成功調用。但是,當我調用該過程時,我只在最後列出所有內容的最後一次更新。在vb.net中運行子文件時刷新/更新文本字段和進度條wpf應用程序

我想做什麼:

'Initialize Progress Components 
repCompleted = 0 
ProgressBar1.Minimum = 0 
ProgressBar1.Maximum = repSel 
ProgressBar1.Value = repCompleted 
TextBlock2.Text = repCompleted & " of " & repSel & " reports finished" 

然後爲每個報表被成功運行,更新repCompleted值,並刷新

repCompleted += 1 
TextBlock2.Text = repCompleted & " of " & repSel & " reports finished" 
ProgressBar1.Value = repCompleted 

的問題是,這些刷新不會發生直到我退出分組。我希望它在每一個完成時都能夠計數,即1 of 4 completed,2 of 4 completed等。

任何想法?

回答

2

如果您的進程在前臺運行(而不是後臺運行),則會阻止用戶界面。您必須在後臺運行它,以便您的UI可以自由地執行其他操作(例如更新您的進度條)。看看BackgroundWorker類,它可以讓你做到這一點。

相關問題