You need to implement
timer[
^], which provides a mechanism for executing a method at specified intervals.
--EDIT1---
OK, create new windows application project and place label on the form. Then copy and paste code below:
Public Class Form1
Delegate Sub SetTextCallback(ByVal [text] As String)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim tcb As TimerCallback = AddressOf CheckSendReport
Dim oTimer As System.Threading.Timer = New System.Threading.Timer(tcb, 0, 0, 60000)
End Sub
Sub CheckSendReport(ByVal state As Object)
Dim dTime As Date = Date.Now
If dTime.Minute = 30 Then
DrawMessage(dTime.ToString & " - Now!")
Else
DrawMessage(dTime.ToString & " - Not yet!")
End If
End Sub
Private Sub DrawMessage(ByVal sMsg As String)
If Me.Label1.InvokeRequired Then
Dim d As New SetTextCallback(AddressOf DrawMessage)
Me.Invoke(d, New Object() {sMsg})
Else
Me.Label1.Text = sMsg
End If
End Sub
End Class
I hope it's helpful.