vb.net 批量赋值textbox问题
我在panel2里面放了9个textbox。因为是做实验,现只简单的想把此9个textbox赋值为0,1,2.。。。8
程序如下:
Dim i As Integer = 0
For Each txt In Panel2.Controls
If txt.GetType.ToString.Equals("System.Windows.Forms.TextBox") Then
txt.Text = i.ToString
i = i + 1
End If
Next
执行以后textbox值为8,7,6.。。。0
我想知道,如何才能实现倒序排列,从第一个textbox开始赋值。
有两种方法,一种是赋值的时侯,有没有使之倒过来的方法。
第二种也可以,就是创建textbox的时侯,使之倒序。当名字为textbox9,textbox8.。。textbox1的排列,就可以产生正的赋值了。
只是在创建textbox的时侯,我是用复制的,默认的都是从有几个就从几开始。一至到最后是1.
[解决办法]
For Each txt In Panel2.Controls.OfType(Of TextBox)().OrderBy(Function(c) c.Name)
...
Next
以及
For Each txt In Panel2.Controls.OfType(Of TextBox)().OrderByDescending(Function(c) c.Name)
...
Next