D.A
D.A

Reputation: 43

How to change the order controls are read in .Net?

I have a very textbox rich heavy panel (approx ~ 25 textboxes) for which I want to retrieve all my text from.

I've done so using this loop.

Dim AllItemsArray As New ArrayList
For Each txt As Control In Panel2.Controls
        If txt.GetType Is GetType(TextBox) Then
            AllItemsArray.Add(txt.Text)
        End If
Next

However, for some odd reason it reads the textboxes in a completly random order which makes using the information extremely difficult. I thought that the textboxes were read in the order they are made, but so far it hasn't done so.

Does anyone have any suggestions as to how I can alter it so that it reads the textboxes in order?

IE. textbox1.text, textbox2.text ...etc

and not

textbox5.text, textbox2.text, textbox 20 ....etc

Thanks

Upvotes: 0

Views: 94

Answers (1)

dbasnett
dbasnett

Reputation: 11773

This gets the controls in Tab order sequence. It also gets controls that are in containers, i.e. GroupBox.

    Dim ctrl As Control = Me.GetNextControl(ctrl, True)
    Do While ctrl IsNot Nothing
        Debug.WriteLine(ctrl.Name)

        ctrl = Me.GetNextControl(ctrl, True)
    Loop

Upvotes: 0

Related Questions