Execute a Method Asynchronously Using the Dispatcher Queue
Biggest Prime Found:
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Threading
Namespace WpfApplication1
Public Partial Class Window1
Inherits Window
Private continueCalculating As Boolean = False
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Private Sub StartStop_Click(sender As Object, e As RoutedEventArgs)
If continueCalculating Then
continueCalculating = False
btnStartStop.Content = "Start"
Else
continueCalculating = True
btnStartStop.Content = "Stop"
Me.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New Action(Of Integer)(AddressOf UpdateNumber), 3)
End If
End Sub
Public Sub UpdateNumber(current As Integer)
txtNumber.Text = current.ToString()
If continueCalculating Then
Me.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, New Action(Of Integer)(AddressOf UpdateNumber), current + 2)
End If
End Sub
End Class
End Namespace