Buenas tardes.
Yo lo intente con 42 label y 42 textbox cuyo tabIndex de los label (1-42) y de los textbox(43-84). La semana en mi calendario empieza el domingo
'Declaro un control
Dim ctr As New Control
'Dependiendo del dia de la semana que empiece el mes
'0-Domingo ... 6-Sábado
Dim k As Integer = (today.DayOfWeek - 1) * (-1)
'Cantidad de dias en el mes
Dim d As String = cal.GetDaysInMonth(fecha.Year, fecha.Month)
'Primer label
ctr = L_1
While k <= 42 And ctr.TabIndex <= 42
If k <= 0 Then
ctr.Hide()
ElseIf k > 0 And k <= d Then
ctr.Text = k
ElseIf k > d Then
ctr.Hide()
End If
If k = Today.Day Then
ctr.ForeColor = Color.Red
Else
ctr.ForeColor = Color.Black
End If
k += 1
ctr = GetNextControl(ctr, True)
End While