Using a BackgroundWorker: progress changed and completed : BackgroundWorker « Windows Presentation Foundation « VB.Net






Using a BackgroundWorker: progress changed and completed

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

1.Use BackgroundWorker to run task at backgroundUse BackgroundWorker to run task at background