Just messing about and modified this to create an international TimeZoner.
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim cx, cy, rad As Integer
cx = 100 : cy = 100 : rad = 80
Dim grpLondon As System.Drawing.Graphics
Dim grpNewYork As System.Drawing.Graphics
Dim grpMoscow As System.Drawing.Graphics
grpLondon = Me.pbxLondon.CreateGraphics()
grpNewYork = Me.pbxNewYork.CreateGraphics()
grpMoscow = Me.pbxMoscow.CreateGraphics()
' London
grpLondon.FillEllipse(Brushes.White, cx - rad, cy - rad, rad * 2, rad * 2)
grpLondon.DrawEllipse(Pens.Yellow, cx - rad, cy - rad, rad * 2, rad * 2)
DrawHand(grpLondon, Pens.Red, cx, cy, Hour(Now) * 5, rad * 0.6)
DrawHand(grpLondon, Pens.Green, cx, cy, Minute(Now), rad * 0.9)
DrawHand(grpLondon, Pens.Blue, cx, cy, Second(Now), rad)
' NewYork
grpNewYork.FillEllipse(Brushes.White, cx - rad, cy - rad, rad * 2, rad * 2)
grpNewYork.DrawEllipse(Pens.Yellow, cx - rad, cy - rad, rad * 2, rad * 2)
DrawHand(grpNewYork, Pens.Red, cx, cy, Hour(Now.AddHours(-5)) * 5, rad * 0.6)
DrawHand(grpNewYork, Pens.Green, cx, cy, Minute(Now), rad * 0.9)
DrawHand(grpNewYork, Pens.Blue, cx, cy, Second(Now), rad)
' Moscow
grpMoscow.FillEllipse(Brushes.White, cx - rad, cy - rad, rad * 2, rad * 2)
grpMoscow.DrawEllipse(Pens.Yellow, cx - rad, cy - rad, rad * 2, rad * 2)
DrawHand(grpMoscow, Pens.Red, cx, cy, Hour(Now.AddHours(3)) * 5, rad * 0.6)
DrawHand(grpMoscow, Pens.Green, cx, cy, Minute(Now), rad * 0.9)
DrawHand(grpMoscow, Pens.Blue, cx, cy, Second(Now), rad)
grpLondon.Dispose()
grpNewYork.Dispose()
grpMoscow.Dispose()
End Sub
Yes I realise I'm using the wrong prefix for a Graphics object..:D