RE:Como crear un array de controles de un form
De nada, hombre,
te explico un poco la historia.
La verdad es que te escribí muy rápido y puse mal la función. Esta está ok:
Public Shared Function ControlesPorFormulario(ByVal pForm As Form, ByVal pTipo As Type) As ArrayList
Dim Coleccion As New ArrayList
For Each Hijo As Control In pForm.Controls
If Hijo.GetType Is pTipo Then Coleccion.Add(Hijo)
Next
Return Coleccion
End Function
pTipo es del tipo que tú quieras buscar. Por ejemplo
Dim Lista As ArrayList = ControlesPorFormulario(Me, Type.GetType("Button"))
Esa lista se llenará con los controles del tipo Button que estén en la colección Controls del formulario.
Ojo. Si metes un panel en el formulario y un botón dentro del panel, no aparecerá en esta colección (la del formulario), si no en la del panel. De manera que si quieres saber todos, todos, los botones que hay en el formulario tendrás que recorrer de manera recursiva todos las colecciones Controls de todos los controles que haya en el formulario.
Un saludo.