La seguente function in VB.NET permette di ricavare, in maniera ricorsiva, l'insieme dei controlli presenti all'interno di una form.
L'argomento Form è la form da cui ricavare l'elenco dei controlli ed è di tipo Object per permettere la ricorsione sui controlli all'interno di controlli di tipo Container.
Public Sub GetAllControls(ByVal Form As System.Object, ByRef Controls As System.Collections.ArrayList)
Dim ctrl As System.Windows.Forms.Control
For Each ctrl In Form.controls
If ctrl.Controls.Count > 0 Then
GetAllControls(ctrl, Controls)
End If
Controls.Add(ctrl)
Next
End Sub