我希望在主窗體中的計時器滴答時減少類中的某些值。我正在創建同一個類的多個實例,因爲我的程序是一個模擬應用程序,我不會將這些實例存儲在數組或任何列表中。我只是聲明它們並將它們的圖片框添加到主窗體上的控件。不過,我希望在類中有一個子例程,當主窗體中的計時器打勾時觸發該子例程。我認爲是這樣的:從類中處理定時器
Public Class Jimmy
Dim _a As Integer = 10
Sub decreseNum(sender As Object, e As EventArgs) Handles mainapp.tmrLog.Tick
_a -= 1
End Sub
End Class
與mainapp
爲主要形式的名稱和tmrLog
是我想我的子程序與關聯的計時器。但是上面的代碼不起作用
該子不會工作,因爲你不叫它。如果你希望子創建一個新實例就開始工作,你應該使用[構造函數](https://en.wikipedia.org/wiki/Constructor_(object-oriented_programming))來完成。 – Eminem
我建議把它們放到某種集合中,然後讓定時器使用For Each循環調用每個對象的Decrement方法 – peterG
爲了擴展我以前的評論,我這樣做的原因是耦合在定時器和對象之間更寬鬆。例如減量法可以很容易地從別處調用。如果你在對象中有一個定時器的引用,那麼主對象和對象就會彼此瞭解太多。 – peterG