Автообновление формы каждые 30 секунд vb.net - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу, чтобы форма открывалась весь день, но я хочу автоматически обновлять ее каждые 30 секунд. Я использую этот код:

    Private Sub tempo(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim timer = New Timer
        timer.Interval = 30 * 1000
        AddHandler timer.Tick, AddressOf Form12_Load
        timer.Start()

    End Sub


    Private Sub Form12_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ...
    End sub

Но это не работает. Вы знаете, что я делаю не так? Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Мой 0,02, не нужно много объяснений:

Private WithEvents clock As New Timers.Timer

Private Sub Form12_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    With clock
        .Interval = 30000
        .AutoReset = True
        .Enabled = True
        .Start()
    End With
End Sub

Private Sub clock_tick() Handles clock.Elapsed
    Me.BeginInvoke(Sub()
                       Me.Refresh()
                   End Sub)
End Sub
0 голосов
/ 07 ноября 2018

Привет, тебе нужно вызвать событие form_load из события таймера:

Private Sub Form12_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim timer = New Timer
    timer.Interval = 30 * 1000
    AddHandler timer.Tick, AddressOf timer_Tick
    timer.Start()
End sub
Private Sub timer_Tick(ByVal sender As Object, ByVal e As EventArgs)   
    Form12_Load(me,nothing)
End Sub 
...