以1秒的间隔刷新TextBox中的文本

问题描述 投票:0回答:1

我试图在文本框中显示本地时间但刷新...我使用计时器来希望刷新时间,但它似乎没有重新打印我的文本。如果你能花时间帮助我,那就太好了!

编辑***所以我尝试使用TextBox.AppendText()来查看如果它不断重新打印会发生什么,我注意到日期和时间根本没有更新。我需要刷新表格???

Public Class Form1

    Dim t As String = My.Computer.Clock.LocalTime
    Dim m As String = t & vbCrLf & " - Time Left - "
    Private Timer As System.Windows.Forms.Timer
    Private TimerCounter As Integer = 0
    Dim TempText As String = m

    Protected Sub TimerTick(ByVal sender As Object, ByVal e As EventArgs)
        TextBox.TextAlign = HorizontalAlignment.Center
        TimerCounter += 1
        TextBox.Text = t
    End Sub

    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Shown 'this goes with the line just above
        Timer = New Windows.Forms.Timer With {.Interval = 1000}
        AddHandler Timer.Tick, AddressOf TimerTick
        Timer.Start()
    End Sub

End Class

我的预期结果,如果当地时间每次计时器滴答时在textbox1更新。

vb.net visual-studio-2010 timer textbox
1个回答
2
投票

您在声明时设置变量t,但之后您永远不会更新它。所以它总是包含相同的值。 实际上你甚至不需要那个变量。您可以将TextBox.Text简单地设置为My.Computer.Clock.LocalTime

Protected Sub TimerTick(ByVal sender As Object, ByVal e As EventArgs)

    ' You can set this property just one time when you define your TextBox
    ' TextBox.TextAlign = HorizontalAlignment.Center
    TimerCounter += 1
    TextBox.Text = My.Computer.Clock.LocalTime
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.