Getting names of controls

Discussion in 'Questions (Windows Mobile)' started by BjornF, Jan 9, 2008.

  1. BjornF

    BjornF Active Member Licensed User

    Is there an easy way of getting the names of all the controls on a form at once?

    GetControls() only get the names of the controls which have the form as parent, so if you as I use panels to minimize the number of forms then you will need to go through each control and see if they are parents of controls in their turn etc.

    all the best / Björn
     
  2. Erel

    Erel Administrator Staff Member Licensed User

    First you can use GetControls("") to get all the controls.

    Using the fact that panels controls can't be nested you can use the following code (it will add all controls on Form1 to the ArrayList named al1).
    Code:
    Sub Globals
        
    'Declare the global variables here.
        Dim crl(0),tmp(0)
    End Sub

    Sub App_Start
        Form1.Show
        AddArrayList(
    "al1")
        crl() = GetControls(
    "Form1")
        
    For i = 0 To ArrayLen(crl())-1
            al1.Add(crl(i))
            
    If ControlType(crl(i)) = "Panel" Then
                tmp() = GetControls(crl(i))
                
    For x = 0 To ArrayLen(tmp())-1
                    al1.Add(tmp(x))
                
    Next
            
    End If
        
    Next
        
        
    'Show the controls
        For i = 0 To al1.Count-1
            
    Msgbox(al1.Item(i))
        
    Next
    End Sub
     
  3. BjornF

    BjornF Active Member Licensed User

    Thank you Erel. / Björn :)
     
Loading...