ciao "ciri" ti posto di seguito un pezzo di codice sicuramente funzionante che crea un numero I di label posizionandole orizzontalmente
For column = 1 To I
Dim lbl As New Label
'il top left della label è (50,50) e le dimensioni sono 30 x 30
lbl.SetBounds(50 + column * 30, 50, 30, 30)
lbl.BorderStyle = BorderStyle.FixedSingle
lbl.BackColor = Color.LightGray
lbl.Text = column
lbl.TextAlign = ContentAlignment.MiddleCenter
Panel1.Controls.Add(lbl)
Next
Dove "Panel1" lo puoi mettere sul form manualmente o creandolo con
Dim Panel1 as new Panel
Panel1.SetBounds(xo,yo,w,h)
etc...
spero di esserti stato di aiuto