我有一个从树视图动态添加的列表框,我想要做的是将列表框中的项目放入数组中,然后显示数组的项目(用逗号分隔(如果是项目) > 1)并在文本框中以“)”结束。到目前为止,我只用逗号实现了分离。 有人可以帮我吗?以下是我的代码
Public Sub Array()
Dim LboxItems As Integer = listbox.Items.Count
Dim countBox As Integer = LboxItems - 1
ReDim arrayTest(LboxItems)
For item = 0 To countBox
arrayTest(item) = listbox.Items(item).ToString
txtboxOut = String.Join(", ", arrayTest)
Next
txtboxOut.Text = outMun
If LboxItems = 0 Then
Array.Clear(arrayMTest, 0, arrayMTest.Length)
txtOut.Text = arrayTest(0)
End If
End Sub
txtboxOut应该显示:
如果是数组项> 1
<item0>, <item1>, ... , <itemN>)
如果数组项= 1
<item0>)
答案 0 :(得分:0)
您发布的代码中有一些不明确的内容:
txtboxOut.Text = outMun
什么是outMun,它在哪里分配?此外,什么是arrayMTest
,为什么当你似乎没有用它做任何事情时你清除它?
最后,以下代码行:
txtboxOut = String.Join(", ", arrayTest)
在构建数组后应该调用一次。而且我认为它也应该是txtboxOut.Text
。
说完所有这些后,下面的代码片段应该可以实现您所需要的功能(请注意,您的代码中没有任何地方可以将)
添加到字符串的末尾,这就是为什么您需要&# 39;没有看到它。
Public Sub Array()
If listbox.Items.Count > 0 Then
ReDim arrayTest(listbox.Items.Count)
For item = 0 to listbox.Items.Count - 1
arrayTest(item) = listbox.Items(item).ToString()
Next
txtboxOut.Text = String.Join(", ", arrayTest) + ")"
Else
txtboxOut.Text = String.Empty
End If
End Sub
简而言之,上面的代码检查ListBox中是否有任何项目。如果有,则循环遍历Items集合并将每个项目添加到arrayTest
。循环完成后,它使用String.Join
制作以逗号分隔的列表并添加&#34;)&#34;到最后。
如果ListBox中没有项目,它会为TextBox分配一个空字符串。
这是一种方法 - 还有其他方法,其中一些甚至不使用数组。