使用進度條實現後台工作器進度更新
問題:
如何使用ProgressBar控制項實作帶有進度更新的BackgroundWorker?
解答:
要正確實作有ProgressBar更新的BackgroundWorker,請依照下列步驟操作:
以下是一個簡單的BackgroundWorker實作範例,它更新ProgressBar控制項:
XAML程式碼:
<code class="language-xml"><ProgressBar Height="25" Margin="20" Maximum="50" Minimum="0" x:Name="myProgressBar"/></code>
後台程式碼:
<code class="language-csharp">using System.ComponentModel; using System.Windows; using System.Windows.Controls; public partial class MainWindow : Window { BackgroundWorker backgroundWorker = new BackgroundWorker(); public MainWindow() { InitializeComponent(); backgroundWorker.WorkerReportsProgress = true; backgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged; backgroundWorker.DoWork += BackgroundWorker_DoWork; backgroundWorker.RunWorkerAsync(); } private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { for (int i = 0; i < 50; i++) { System.Threading.Thread.Sleep(100); // 模拟工作 backgroundWorker.ReportProgress(i); } } private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { myProgressBar.Value = e.ProgressPercentage; } }</code>
透過執行這些步驟,您可以建立一個與GUI無縫整合的BackgroundWorker,為使用者提供進度更新。
以上是如何使用 ProgressBar 實現具有進度更新的背景工作程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!