Para almacenar los controles piedes usar un array o un ObjectList que está pensado (o va muy bien) para estas cosas.
Para crear los componentes puedes buscar en los foros; Hay mucho código ya que es un tema que hemos tratado otras veces (el códio que pones no va desencaminado).
Mira
aquí o
aquí; Aunque si buscas encontrarás más hilos sobre el tema.
Pruébalo y si tienes problemas dínoslo. El problema está muy bien explicado, pero intenta ser más concreto en las preguntas.
Un saludo y bienvenido a los foros.