1\创建一个textbox 2、实现一个定时器类
3、定时器周期设定和处理事件
4、时间显示再本文上
在Class MainWindow上声明命名空间并且在界面初始化事件上定义DispatcherTimer类
Imports System.Windows.Threading '引用提供支持多线程编程的类和接口命名控件 1 如果没有这个命名空间,下方DispatcherTimer类就是用不了 Public WithEvents ShowTimer As DispatcherTimer '定义DispatcherTimer类为定时器 这个类是干嘛用的呢是:集成到按指定时间间隔和指定优先级处理的 Dispatcher 队列中的计时器。也就是说由于WPF中没有定时器,咱们手动生成一个定时器的类。 之后代码为这样:
Imports System.Windows.Threading '引用提供支持多线程编程的类和接口命名控件
Class MainWindow
Public WithEvents ShowTimer As DispatcherTimer '定义DispatcherTimer类为定时器
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
'使用定时器过程代码
End Sub
1
2
3
4
5
6
7
步骤6:使用定时器,要先实例化定时器才可以使用
在界面初始化事件中写如下代码:
ShowTimer = New System.Windows.Threading.DispatcherTimer() '实例化定时器
AddHandler ShowTimer.Tick, AddressOf ShowCurTimer '起个定时器一直获取当前时间
ShowTimer.Interval = New TimeSpan(0, 0, 0, 1, 0) '选择定时器间隔为1秒刷新一次
ShowTimer.Start() '开始定时器
1
2
3
4
步骤7:显示时间
给TextBlock赋值函数代码如下:
其中TextBlock1指的是控件的Name属性,也是刚才需要记住的
Public Sub ShowCurTimer(ByVal sender As Object, ByVal e As EventArgs)
TextBlock1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") '获得年月日时分秒
End Sub
1
2
3
最后全部代码为下方代码
Imports System.Windows.Threading '引用提供支持多线程编程的类和接口命名控件
Class MainWindow
Public WithEvents ShowTimer As DispatcherTimer '定义DispatcherTimer类为定时器
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
ShowTimer = New System.Windows.Threading.DispatcherTimer() '实例化定时器
AddHandler ShowTimer.Tick, AddressOf ShowCurTimer '起个Timer一直获取当前时间
ShowTimer.Interval = New TimeSpan(0, 0, 0, 1, 0) '选择定时器间隔为1秒刷新一次
ShowTimer.Start() '开始定时器
End Sub
'显示时间
Public Sub ShowCurTimer(ByVal sender As Object, ByVal e As EventArgs)
TextBlock1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") '获得年月日时分秒
End Sub
End Class