GetControlsByType – Retrieving an array of controls of the specified type

' Returns an array of controls of the specified type,'  found within the specified parent control (or the form itself).' Note: the search is optionally done recursively, by checking also controls' ' child controls' Example: get an array with the form's textboxes'   Dim textboxes() As TextBox = GetControlsByType(Me, GetType(TextBox))Function GetControlsByType(ByVal container As Control, _    ByVal ctlType As Type) As Control()    Dim al As New ArrayList()    Dim ctl As Control    For Each ctl In container.Controls        GetControlsByTypeHelper(container, ctlType, al)    Next    Return al.ToArray(GetType(Control))End FunctionSub GetControlsByTypeHelper(ByVal container As Control, ByVal ctlType As Type, _    ByVal al As ArrayList)    Dim ctl As Control    ' if the passed control is of the specified type, add it to the ArrayList    If TypeName(container) = ctlType.Name Then        al.Add(container)    End If    ' recursively call this routine for all the child controls    For Each ctl In container.Controls        GetControlsByTypeHelper(ctl, ctlType, al)    NextEnd Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: