El siguiente Codigo, es usando Windows.Form. En diseño agregas un StatusBar. En el codigo haces el resto. Para esto crearas dos variables StatusBarPanel, una para la fecha y otra para la hora, para actualizar constatemente la hora, se usa un objeto timer, en el cual se cambia la propiedad text.
Parte Principal del Codigo, el resto en el zip
#Region "mis variables "
Private PanelTime As New StatusBarPanel()
Private PanelDate As New StatusBarPanel()
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'caragando los satatus panel para la hora
PanelTime.BorderStyle = StatusBarPanelBorderStyle.Sunken
PanelTime.AutoSize = StatusBarPanelAutoSize.Spring
PanelTime.Alignment = HorizontalAlignment.Right
'cargando los Status para la Fecha
PanelDate.BorderStyle = StatusBarPanelBorderStyle.Raised
PanelDate.ToolTipText = System.DateTime.Today.ToShortDateString()
PanelDate.Text = System.DateTime.Today.ToLongDateString()
PanelDate.AutoSize = StatusBarPanelAutoSize.Contents
'llenandolos al statusBar
stBarTimeDate.ShowPanels = True 'para q muestre varios paneles
stBarTimeDate.Panels.Add(PanelTime)
stBarTimeDate.Panels.Add(PanelDate)
'para que cambie la hora y la fecha
TmrStatus.Start()
End Sub
Private Sub TmrStatus_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrStatus.Tick
Dim myTime As String = ""
Dim myState As String = " "
Dim myHor As Integer
Dim myMin As String
Dim mySec As String
With Now()
myHor = IIf(.Hour > 12, .Hour Mod 12, .Hour)
myState += IIf(.Hour >= 12, "p", "a") & ".m. "
myMin = IIf(.Minute > 10, "", "0") & .Minute
mySec = IIf(.Second > 10, "", "0") & .Second
myTime += myHor & ":" & myMin & ":" & mySec & myState
End With
PanelTime.Text = myTime
End Sub
Autor: Sergioman