Ok, gracias Elektro
Por curiosidad he probado de hacer algo parecido con el código que expuse al principio. A ver que te parece
Para llamar uso:
(para mostrar los Labels)
(para quitar los labels)
Por curiosidad he probado de hacer algo parecido con el código que expuse al principio. A ver que te parece

Código (vbnet) [Seleccionar]
Module Module1
Dim lblEtiqueta(4) As Label
Sub CrearPanel(ByVal pnl As Object, ByVal Disponible As Boolean)
Dim Starlbl As New Point(x:=10, y:=20)
pnl.backcolor = Color.DarkGray
If Disponible Then
For I As Integer = 0 To 3
lblEtiqueta(I) = New Label
lblEtiqueta(I).Width = 15
lblEtiqueta(I).Height = 15
lblEtiqueta(I).BackColor = Color.Gray
lblEtiqueta(I).Location = Starlbl 'posición X e Y del cuadro
pnl.Controls.Add(lblEtiqueta(I)) 'Crea el label
Starlbl.X += 20
Next
Else
Try
For Index As Integer = 0 To 3
lblEtiqueta(Index).Dispose()
Next Index
Catch ex As Exception
End Try
End If
End Sub
End Module
Para llamar uso:
(para mostrar los Labels)
Código (vbnet) [Seleccionar]
CrearPanel(Panel1, True)
(para quitar los labels)
Código (vbnet) [Seleccionar]
CrearPanel(Panel1, False)