The Solution will be a customized Control with the behaviour you want.
This could also be a Label if you want to work with fixed Text's.
For Example :
Public Class ShiftLabel
Inherits Label
Public Sub New()
Me.AutoSize = False
Me.TextAlign = ContentAlignment.MiddleCenter
Me.Invalidate()
End Sub
Private myCounter As Integer = 1
Protected Overrides Sub OnClick(e As EventArgs)
myCounter += 1
If myCounter > 3 Then myCounter = 1
Me.Invalidate()
MyBase.OnClick(e)
End Sub
Protected Overrides Sub OnInvalidated(e As InvalidateEventArgs)
Select Case myCounter
Case 1
Me.Text = "Shift 1"
Me.BackColor = Color.Red
Me.ForeColor = Color.Yellow
Case 2
Me.Text = "Shift 2"
Me.BackColor = Color.Green
Me.ForeColor = Color.Yellow
Case 3
Me.Text = "Night-Shift"
Me.BackColor = Color.DarkBlue
Me.ForeColor = Color.White
End Select
MyBase.OnInvalidated(e)
End Sub
End Class