2011-02-10 68 views
0

目前,我有以下代码: 公共TMR()作为DispatcherTimerDispatcherTimer阵列问题

Public Sub CreateTimer(ByVal timernumber As Integer) 
    Dim main As New MainWindow 

    Dim tmr(timernumber) As DispatcherTimer 
    tmr(timernumber - 1).Stop() 
    tmr(timernumber).Start() 
    tmr(timernumber).Interval = New TimeSpan(0, 0, 0, 0, 50) 

    AddHandler tmr(timernumber).Tick, AddressOf main.tmr_tick 
End Sub 


Public Sub CreateFirstTimer(ByVal timernumber As Integer) 
    Dim main As New MainWindow 

    Dim tmr(timernumber) As DispatcherTimer 
    tmr(timernumber).Interval = New TimeSpan(0, 0, 0, 0, 50) 
    tmr(timernumber).Start() 
    AddHandler tmr(timernumber).Tick, AddressOf main.tmr_tick 
End Sub 

这是一个稍微对象的一部分 - 面向应用,以及两个子程序养活这个类具有可变'timernumber'。这看起来应该可以工作,但是,当应用程序使用这些子例程时,它会崩溃,因为Dim tmr(timernumber)因为DispatcherTimer在其中没有“new”语句(如New DispatcherTimer)。当我放入一个“新”时,VB抱怨不能在数组中使用New关键字。 所以,我想我如何动态地创建WPF中的dispatchertimers,所有这些工作?在途中可能会“删除”旧的? 谢谢大家!

回答

1

tmr是否在其他地方声明?如果是这样你想用:

tmr(timernumber) = New DispatcherTimer() 
+0

谢谢!我不知道我是如何错过的,是的,Dim tmr()因为DispatcherTimer在这些子例程之上全局设置。谢谢! – Nick