Non so se ho capito correttamente il tuo problema, ma un caso analogo io l'ho risolto in questo modo:
string fisso = "CheckBox";
string indicizzatore ;
string nomecontrollo ;
for (int i=3; i<30; i++)
{
// creazione di una stringa con il nome del controllo
indicizzatore = i.ToString();
nomecontrollo = fisso + indicizzatore;
// definizione del controllo ( sempre lo stesso)
CheckBox costante = new CheckBox();
// posizionamento
costante.Location = new Point(80,64+i*20);
costante.Text = nomecontrollo;
costante.Size = new Size (100,20);
// Presentazione sul form
form2.Controls.Add (costante);
// rinomino
costante.Name = nomecontrollo;
}
Se ti può essere utile...