我想創建一個計時器,從指定的時間倒計時。編程vb.net,第二種形式的文本框不會更新
用戶輸入時間並單擊按鈕。
按鈕點擊打開第二個窗體,其中有一個計時器。
每當計時器滴答時間,時間就會減少,剩下的時間會顯示在窗體2上的文本框(textbox.text = timeLeft
)中。
但是,文本框將永遠不會實際更新。它仍然是空白,這賦予了新的價值的.text
屬性將實際工作的唯一情況是如果我提出一個事件(例如點擊一個按鈕,將改變文本框的.text
屬性)
*這裏是Timer類
Public Class CountdownTimer
Private timeAtStart As Integer
Private timeLeft As Integer
Public Sub StartTimer(ByVal time As Integer)
timeAtStart = time
timeLeft = timeAtStart
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If timeLeft > 0 Then
timeLeft = timeLeft - 1
txtTimeLeft.Text = timeLeft.ToString
Else
Timer1.Stop()
txtTimeRemaining.Text = "Time!"
txtTimeRemaining.ForeColor = Color.Red
End If
End Sub
End Class
這裏的代碼我怎麼稱呼它:
Dim timer As New CountdownTimer timer.Show() CountdownTimer.StartTimer(CInt(txtSetTime.Text))
放置代碼。 –
沒有看到代碼,我的猜測是你需要更新Tick事件的文本框 – TEK
在tick事件中設置一個斷點...我敢打賭,它從來沒有被調用...是'CountdownTimer'類還是表單? Timer1在哪裏?它在表格上嗎?無論這些東西是什麼,你最後的部分(我怎麼稱呼它)是錯誤的。 – Plutonix