我创建了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,从而减少编码。
答案 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