2017-07-28 49 views
0

你好球员我有文本框的问题每个循环文本框的值

For Each textBox As TextBox In GroupBox1.Controls.OfType(Of TextBox)().OrderBy(Function(b) b.TabIndex) 
      textBox.Text = 1 
      textBox.Text = 2 

下一这里 我有8文本框等

textbox1  textbox2 
textbox3  textbox4 
textbox5  textbox6 
textbox7  textbox8 

我想TextBox1中= 1 1和TextBox = 2 textbox3 = 1和textbox4 = 2和儿子 我已尝试

For Each aBox As Etcbox In GroupBox1.Controls.OfType(Of TextBox)().OrderBy(Function(b) b.TabIndex) 
     aBox.Text = 1 
     aBox.Text = 2 

不同的名称文本框,但我失败的任何帮助,请我只是想,并试图...

+0

如果你已经得到了他们的命令你想要的方式,只是增加一个计数器,并在循环分配当前的计数器值。 – Filburt

回答

1

尝试调用它的名字的文本框与directcast

For i = 1 to 8 
     DirectCast(Me.Controls.Find("textbox" & i, True), Textbox).text = i 
Next 

或多个正确检查i是否偶数或奇数和分配相应的

For i = 1 to 8 
     if i mod 2 = 0 then 
      DirectCast(Me.Controls.Find("textbox" & i, True), Textbox).text = "2" 
     else 
      DirectCast(Me.Controls.Find("textbox" & i, True), Textbox).text = "1" 
     end if 
Next 

虽然我没有测试它。

+1

感谢回复它的工作,并感谢 – Deathonly

+0

良好的渔获物使用'Me.Controls.Find(,真)'来执行递归查询,而不是! –

+0

Me.Controls.Find(,真)是一个很大的帮助,我完全忘记了现在国防部哈哈哈我记得当我的主人的问题我关于MOD系列以及感谢 – Deathonly