Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Intermediate
May 26, 2003

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 Function

Sub 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)
    Next
End Sub
Marco Bellinaso
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap