2016-10-25 4 views
0

私はすべてのテキストを取得したい非常にテキストボックスの豊富な重いパネル(約25のテキストボックス)を持っています。注文コントロールを変更するには、.NETで読み込みますか?

私はこのループを使用しました。

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 

しかし、いくつかの奇妙な理由で、テキストボックスを完全にランダムな順序で読み取るため、情報を非常に難しくしています。 私は、テキストボックスが作成された順番で読み込まれたと思っていましたが、これまでのところ、それはしていません。

テキストボックスを順番に読み込むように変更する方法はありますか?

IE。 textbox1.text、textbox2.text ...など

なく

textbox5.text、textbox2.text、テキストボックス20 ....など

おかげ

+1

「コントロール」の整理に役立つ[this](http://stackoverflow.com/questions/11335529/going-through-controls-in-order)をご覧ください。 – Bugs

答えて

0

これは、内のコントロールを取得しますタブ順序の順序。コンテナ内にあるコントロール(GroupBoxなど)も取得します。

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

     ctrl = Me.GetNextControl(ctrl, True) 
    Loop 
関連する問題