我想知道是否有人可以帮我解决以下问题?
我的表单上有20个标签,名为" Name1"," Name2"等等..... 我想从DB中读取并使用DB行中的相应值填充每个标签。
目前,代码完成了很长的工作:
Name1.Text = dt.Rows(0).Item("Name1")
Name2.Text = dt.Rows(0).Item("Name2")
etc.....
我想使用数组和循环来减少代码,但我不确定我需要做什么。 以下工作完美,除了Name1.Text,我实际上希望它是名称(i).text = ....... 我只想说这不起作用,所以我想知道我做错了什么。
For i As Int16 = 1 To 20
Name1.Text = dt.Rows(0).Item("Name" & (i))
Next
谢谢,
答案 0 :(得分:0)
您可以在数组中添加所需的控件(按正确顺序)。 然后使用For或For Each循环进行迭代。
使用您的代码看起来像:
Dim textBoxes() As TextBox = {Name1, Name2, Name3, Name4, Name5, etc}
For i As Int16 = 0 To textBoxes.Count -1
'According To Matt Wilko, it's better to start from 0 to textBoxes.Count-1, so you'll have to use i+1
textBoxes(i+1).Text = dt.Rows(0).Item("Name" & (i+1))
Next
顺便说一下,我不确定这是最好的方法:/