Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Update the UI Asynchronously on a Timer

<Window x: Class="WpfApplication1.Window1"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="WPF" Height="100" Width="300">     <StackPanel>         <Button x:Name="button" Click="Button_Click">Start Timer</Button>         <TextBlock x:Name="txtStatus">         </TextBlock>     </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Windows Imports System.Windows.Threading Namespace WpfApplication1   Public Partial Class Window1     Inherits Window     Private timer As DispatcherTimer     Public Sub New()       InitializeComponent()     End Sub     Private Sub Button_Click(sender As Object, e As RoutedEventArgs)       If timer Is Nothing OrElse Not timer.IsEnabled Then         timer = New DispatcherTimer()         timer.Interval = TimeSpan.FromMilliseconds(1000)         AddHandler timer.Tick, New EventHandler(AddressOf timer_Tick)         timer.Start()         button.Content = "Stop Timer"       Else         timer.[Stop]()         button.Content = "Start Timer"       End If     End Sub     Private Sub timer_Tick(sender As Object, e As EventArgs)       txtStatus.Text = DateTime.Now.Second.ToString()     End Sub   End Class End Namespace