GetControlsByTag - Find all the controls with the specified Tag value
' Find all the controls with the specified Tag value
' Example:
' Dim ctrls() As Control = GetControlsByTag("OK", Me)
' Dim ctrl As Control
' For Each ctrl In ctrls
' Debug.WriteLine(ctrl.Name)
' Next
Function GetControlsByTag(ByVal tagToSearch As String, _
ByVal parentControl As Control) As Control()
Dim controlList As New System.Collections.ArrayList
' add the parent control to the list, if its Tag matches the input string
If Not parentControl.Tag Is Nothing Then
If parentControl.Tag.ToString() = tagToSearch Then
controlList.Add(parentControl)
End If
End If
' recursively call this routine for all the child controls
If parentControl.Controls.Count > 0 Then
Dim child As Control
For Each child In parentControl.Controls
' add the results of the recursive GetControlsByTag call to the
' current ArrayList
controlList.AddRange(GetControlsByTag(tagToSearch, child))
Next
End If
' convert the ArrayList to an array of Controls, and return it
Return controlList.ToArray(GetType(Control))
End Function