Salve a tutti.

Tempo fa ho creato un programmino per un cliente in VB6 , questo programmino è composto da una sola schermata composta da molteplici bottoni. Questi bottoni sono personalizzabili , ovvero ho realizzato un Form dal quale , tramite l'ID del bottone è possibile cambiarne le proprietà. Funziona tutto bene , è praticamente 4 5 mesi che lo usa , e non ha problemi , quello che mi chiedo è , il codice che io sto utilizzando ovvero questo è uno spaccato
codice:
 rs.MoveFirst
   If rs("caption") = 0 Then
   bt1.Caption = bt1.Caption
   Else
   bt1.Caption = rs("caption")
   End If
   If rs("colore") = 0 Then
   bt1.BackColor = &H8000000F
   End If
   If rs("colore") = "ROSSO" Then
   bt1.BackColor = &HC0&
   bt1.ForeColor = &HFFFFFF
   End If
    If rs("colore") = "GIALLO" Then
   bt1.BackColor = &HFFFF&
   bt1.ForeColor = &H0&
   End If
    If rs("colore") = "AZZURRO" Then
   bt1.BackColor = &HEBA736
   bt1.ForeColor = &HFFFFFF
   End If
    If rs("colore") = "VERDE" Then
   bt1.BackColor = &HC000&
   bt1.ForeColor = &HFFFFFF
   End If
    If rs("colore") = "ARANCIONE" Then
   bt1.BackColor = &H40C0&
   bt1.ForeColor = &HFFFFFF
   End If
   If rs("immagine") <> 0 Then
   Dim immagine As String
   immagine = rs("immagine")
   Set bt1.Picture = LoadPicture(immagine)
   End If
   bt1.Width = rs("larghezza")
   rs.MoveNext
Ha una migliore soluzione , c'è un modo migliore per sviluppare questo tipo di sistema? E' un po che giro , programmo in VB6 ma non sono uno dei più esperti , mi hanno mollato questo compito perchè gli altri si sono rifiutati =P. Quello che chiedo è , cosa dovrei studiare per migliorare questo codice ? con quale strumento posso magari evitare di copiarlo 89 volte nel form , visto che i bottoni sono + di 89 ?

Spero possiate consigliarmi ^^
grazie in anticipo e buona giornata