我正在使用vb.net表单。
我有8个列表框(listbox1,listbox2,listbox3 ..),每个列表框包含许多项目和另一个空列表框(listbox10)。我正在尝试将第一个列表框项添加到listbox10
ex:)listbox1第一项是'A',listbox2第一项是'b',listbox3第一项是'c'......等等。现在listbox10第一项必须是“Abc ...”
问题是我想在每个列表框之间添加文本(字符串或数字)
ex:)listbox1第一项是'A',listbox2第一项是'b',listbox3第一项是'c'......等等。现在我希望listbox10第一项为“字母ABC现已完成”
主要思想是组合所有列表框项目并在它们之间添加文本以创建有意义的句子
这是我的代码
Dim controls = New List(Of ListBox)() From _
{ListBox1, ListBox2, ListBox3, ListBox4, ListBox5, ListBox6, ListBox7, ListBox8}
Dim minCount = Controls.Min(Function(x) x.Items.Count)
For x = 1 To minCount - 1
ListBox10.Items.Add(String.Join(" ", controls.Select
(Function(lb) lb.Items(x).ToString)))
Next
End Sub
我必须添加我的(字符串)?
答案 0 :(得分:2)
由于你想在列表框项之间放置不同的文本,你必须删除String.Join函数并自己循环遍历ListBox:
Dim sb As New StringBuilder
For i As Integer = 0 To controls.Count - 1
For j As Integer = 1 To minCount - 1
sb.Append(controls(i).Items(j).ToString)
Next
If i < controls.Count - 1 Then
sb.Append(" " & i.ToString & " ")
End If
Next
ListBox10.Items.Add(sb.ToString)