2011-02-10 70 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