尝试在WPF中创建倒数计时器

时间:2017-08-21 19:09:41

标签: wpf vb.net timer

我正在尝试为我的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搜索了几个修复程序,并尝试重写计时器功能。但是我无法通过这个问题。还尝试将文本框的内容标记放在地址中,但地址只有方法。

1 个答案:

答案 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