Using a BackgroundWorker: progress changed and completed
<Window x:Class="BackgroundWorkerExample.MyWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="BackgroundWorkerExample" Height="300" Width="300">
<Grid>
</Grid>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes
Imports System.ComponentModel
Imports System.Threading
Namespace BackgroundWorkerExample
Partial Class MyWindow
Inherits Window
Private bw As New BackgroundWorker()
Public Sub New()
AddHandler bw.DoWork, New DoWorkEventHandler(AddressOf bw_DoWork)
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
bw.WorkerReportsProgress = True
bw.RunWorkerAsync()
End Sub
Private Sub bw_DoWork(sender As Object, e As DoWorkEventArgs)
For i As Integer = 0 To 9
Dim percent As Integer = i * 10
bw.ReportProgress(percent)
Thread.Sleep(1000)
Next
End Sub
Private Sub bw_ProgressChanged(sender As Object, e As ProgressChangedEventArgs)
Me.Title = "Working: " & e.ProgressPercentage & "%"
End Sub
Private Sub bw_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
Me.Title = "Finished"
End Sub
End Class
End Namespace
Related examples in the same category