Execute a Method Asynchronously Using a Background Worker Thread
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.ComponentModel
Namespace WpfApplication1
Public Partial Class Window1
Inherits Window
Private worker As New BackgroundWorker()
Private from As Long = 1
Private [to] As Long = 200
Private biggestPrime As Long
Public Sub New()
MyBase.New()
InitializeComponent()
AddHandler worker.DoWork, New DoWorkEventHandler(AddressOf worker_DoWork)
AddHandler worker.RunWorkerCompleted, New RunWorkerCompletedEventHandler(AddressOf worker_RunWorkerCompleted)
End Sub
Private Sub Start_Click(sender As Object, e As RoutedEventArgs)
worker.RunWorkerAsync()
btnStart.IsEnabled = False
txtBiggestPrime.Text = String.Empty
End Sub
Private Sub worker_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
btnStart.IsEnabled = True
txtBiggestPrime.Text = biggestPrime.ToString()
End Sub
Private Sub worker_DoWork(sender As Object, e As DoWorkEventArgs)
For current As Long = from To [to]
biggestPrime = current
Next
End Sub
End Class
End Namespace