迭代编号的文本框

时间:2017-11-22 18:07:54

标签: vb.net for-loop

我创建了10个文本框,名为Txtb_1,Txtb_2 ....和一个包含10个值的表。例如Dim table() as integer = {0,1,2,3....}

前5个文本框将包含一个整数值。另外5,该值将增加x。

我想在屏幕上显示之前和之后的比较。

我的所有变量都被声明为Txtb_1。,Txtb_2等的字符串。

对于变量Txtb_6到Txtb_10,是否可以将它们放在for循环中并仅更改变量名称中的数字?

我想要的是能够简化我的任务。

例如:

for i = 6 to 10

    Txtb_**i**.text = table(x)

next

因此循环将从Txtb_6变为Txtb_10,从而减少编码。

1 个答案:

答案 0 :(得分:1)

为此,您将能够使用 Control.FindControl 功能。

Dim curControl As Control = Nothing

For i = 6 To 10
    curControl = FindControl($"Txtb_{i}") 'or string format or &
    If (Not curControl Is Nothing)
        ' your logic
        (curControl As TextBox).Text = table(x) 'prob want to exception handle
    End If
Next

此处有更多信息:https://msdn.microsoft.com/en-us/library/486wc64h(v=vs.110).aspx

投射方式:https://www.codeproject.com/Articles/5044/Cheat-Sheet-Casting-in-VB-NET-and-C