我正在使用vb.net表单。
我有8个列表框(listbox1,listbox2,listbox3 ..),每个列表框包含许多项目和另一个空列表框(listbox10)。我正在尝试将第一个列表框项添加到listbox10
ex:)listbox1第一项是'A',listbox2第一项是'b',listbox3第一项是'c'......等等。现在listbox10第一项必须是“Abc ...”
问题是我只能在列表框10中添加3个列表框 但我希望所有8个列表框都包含在循环中。
这是我的代码
noui
答案 0 :(得分:4)
创建您要处理的所有列表框中的List<Listbox>
。
然后,使用Linq,很容易实现您的目标
Dim controls = new List(Of Listbox)() From _
{ listbox1, listbox2, listbox3, ....etc.... }
Dim minCount = controls.Min(Function(x) x.Items.Count)
for x = 0 to minCount-1
listbox10.Items.Add(string.Join(" ", controls.Select(Function(lb) lb.Items(x).ToString)))
Next
当然,如果所有列表框具有相同数量的项目,那么查找具有较少数量项目的列表框的计算是无用的,您可以使用任何列表框的Items.Count替换它(但是,在防御性编程中,我会离开它)