Quote Originariamente inviata da kerberos5 Visualizza il messaggio
Sono riuscito!
posto la funzione per completezza... magari può tornare utile ad altri!!!

codice:
    Public Sub RandomColor()

        Dim x() As Object = {lblA, lblB, lblC, lblD, _
        lblE, lblF, lblG, lblH, lblI, _
        lblL, lblM, lblN, lblO, lblP, _
        lblQ, lblR, lblS, lblT, lblU, _
        lblV, lblW, lblX, lblY, lblZ}

        For i = 0 To 2
            ' Generate random value between 1 and 23.
            Randomize()
            Dim value As Integer = CInt(Int((23 * Rnd()) + 1))
            x(value).ForeColor = Color.Red
        Next i
        
    End Sub
Come ti ho già detto, con VB.NET si può accedere ai controlli usando un index perché ogni controllo fa parte della collezione controls, array esposto dal form che li contiene.
Puoi fare ad esempio:
codice:
For Each c As Control In Me.Controls
    If c.GetType Is GetType(TextBox) Then
        ' Do something
    End If
Next
Inoltre, attento al codice che hai scritto, perché può essere che estrae 2 volte la stessa laber e te la colora di rosso solo 1...