【发布时间】:2015-12-16 14:52:01
【问题描述】:
我正在使用 vb.net 表单。
我有 8 个列表框(listbox1、listbox2、listbox3..),每个列表框包含许多项目和另一个空列表框(listbox10)。我正在尝试将第一个列表框项目添加到列表框10
ex: ) listbox1 第一个项目是 'A' , listbox2 第一个项目是 'b' , listbox3 第一个项目是 'c'...等。现在 listbox10 第一项必须是“Abc...”
问题是我想在每个列表框之间添加文本(字符串或数字)
ex:)listbox1 第一项是 'A' , listbox2 第一项是 'b' , listbox3 第一项是 'c'...etc 。现在我希望 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
我必须在哪里添加我的(字符串)?
【问题讨论】:
-
您说“在每个列表框之间”,但您的示例“字母是 ABC”只是将文本放在字符串前面。不清楚你想用那个例子做什么。如果您只需要前导文本:
ListBox10.Items.Add("The letters is " & String.Join(... -
@LarsTech 不,这只是示例先生.. 我想在不同位置的每个列表框之间添加很多不同的文本
-
现在您只需要字母前后的文字吗?我试图弄清楚字母之间发生了什么......
-
例如 listbox1 第一个项目是 'A' , listbox2 第一个项目是 'b' , listbox3 第一个项目是 'c'...等。现在我希望 listbox10 第一项是“字母 A 是 B 现在完成 C 之前的字母”
-
如果项目之间的文本不同,那么您将不得不丢失 string.join 并循环遍历您的列表框集合。你的for循环错了,顺便说一句,它应该是
0 to minCount - 1