我正在尝试为我的xaml页面加载时创建一个计时器,它启动一个四分钟计时器,当它达到0时程序停止并重新启动。在创建计时器时遇到问题。在VB.net中使用DispatcherTimer获取结果。代码如下:
Private Sub Timer_Loaded(sender As Object, e As RoutedEventArgs)
Dim time = New Threading.DispatcherTimer()
time.Interval = New TimeSpan(0, 0, 1)
AddHandler time.Tick, AddressOf time_tick
time.Start()
End Sub
Public Sub time_tick(ByVal sender As Object, e As RoutedEventArgs)
Timer.Text = Date.Now.Second
End Sub
尝试将time_click作为公共子进行,因为在Timer_Loaded xaml事件中执行此操作会引发错误。运行代码时出现以下错误:
System.InvalidCastException:'无法将'System.EventArgs'类型的对象强制转换为'System.Windows.RoutedEventArgs'。'
用Google搜索了几个修复程序,并尝试重写计时器功能。但是我无法通过这个问题。还尝试将文本框的内容标记放在地址中,但地址只有方法。
答案 0 :(得分:1)
DispatcherTimer的Tick事件的处理程序只接受System.EventArgs类型的事件参数:
Public Sub time_tick(ByVal sender As Object, e As EventArgs)
Timer.Text = Date.Now.Second
End Sub
查看有关该主题的优秀文章:http://www.dotnetheaven.com/article/timer-in-wpf-using-vb.net