Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Using a BackgroundWorker

<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