2014-09-03 161 views
0

編程新手,這是我的第一篇文章!非常令人興奮:D如何重置指定的system.threading.timer VB.NET

非常感謝大家分享您的專業知識。

我希望能夠以某種方式引用先前創建的定時器,並能夠(在它的實例吧?呼叫改變)上Button2_Click擴展。請看下面的代碼:

Imports System.Threading 
Public Class Form1 

    Public Timer As Timer 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Timer = New Timer(AddressOf TimerHandler, 123, 5000, 0) 
    End Sub 

    Private Sub TimerHandler(ByVal timerID As Object) 
     MsgBox("Timer Elapsed!!!!") 
    End Sub 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
     '''''''''''''''reset timer "123" 
    End Sub 

End Class 

回答

0

根本不要使用Threading.Timer。使用Timers.Timer,可以將其添加到設計器中的表單或代碼中創建。處理Elapsed事件,使用Interval屬性確定事件之間的時間,並使用StartStop方法做明顯的事情。

+0

謝謝你。我可能會忽略這個顯而易見的事情,但是有沒有能力通過ID引用threading.timer或者我可以設置以後引用的任何東西?上面的例子已經過於簡化了。我在遇到問題時採取了這個問題,並在實現主代碼之前嘗試尋找解決方案。因爲它需要該計劃將創造儘可能多的計時器,基於其他的事件,我必須要創建基於定時器ID的能力上可以說,哈希表的鍵....這會有很多。 – 2014-09-03 03:04:58

+0

如果您想要訪問多個對象中的一個,無論是「定時器」還是其他地方,那麼您都需要將這些對象存儲在某處。您需要某種類型的集合,而不僅僅是一個'Timer'變量。你可以使用'List'或'Dictionary'或其他任何提供適當的訪問。 – jmcilhinney 2014-09-03 03:08:07