//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