Ciao Davide.
E' vero .... in VB6 era possibile creare una matrice di controlli ed in .Net no(anche se non è proprio così .... ma mi riferisco a ciò che intendi tu).
Tieni presente, comunque, che hai a disposizione la collezione Controls del Form in cui sono presenti i riferimenti a tutti i controlli del Form, pertanto puoi agire su tale collezione per aggiungere i controlli a run-time.
Esempio:
TuoForm.Controls.add(new Button with {.Name="Button1" .Location=New Point(50,50)})
Se posso darti un consiglio, se vuoi migrare a .Net .... smetti di pensare Vb6 ..... .NET è un mondo nuovo totalmente diverso dal Vb6.
Facci sapere...
Ciao