【发布时间】:2016-03-27 12:54:46
【问题描述】:
我对此进行了研究,但无法在任何地方找到解决此问题的参考。我创建了代码来随机化文本文档中的大约 20 个项目,并将它们放入表单上的列表框中。这是一份法律文件,因此,一旦随机化,它将以不同的顺序读回文本文件。每个项目都有一个标题:REQUEST FOR ADMISSIONS NO。 # (# 是该问题所在的任何数字)。尽管问题的顺序被打乱了,但我需要那些 # 的数字顺序(1-20)。我一直在努力,直到我让它插入那条线,并增加一个数字。但它正在向后增加它们(参见编辑示例)。 Program output 罪魁祸首语言如下。我认为它在某个地方:
ListBox1.BeginUpdate()
Try
'do with listBox1.Items[i]
For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
ListBox1.Items.Insert(i, "REQUEST FOR ADMISSION NO. " & nxtNum & vbCrLf)
nxtNum += 1
Next
Finally
ListBox1.EndUpdate()
End Try
注意:我可以通过翻转列表来使其工作。不优雅,但很有效。
ListBox1.BeginUpdate()
Try
'do with listBox1.Items[i]
For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1
ListBox1.Items.Insert(i + 1, "REQUEST FOR ADMISSION NO. " & nxtNum & vbCrLf)
nxtNum += 1
Next
Finally
ListBox1.EndUpdate()
End Try
nxtNum = 1
Dim items() As Object = ListBox1.Items.Cast(Of Object).Reverse.ToArray
ListBox1.Items.Clear()
ListBox1.Items.AddRange(items)
【问题讨论】:
-
问题可能出在这一行:“ListBox1.Items.Count - 1 To 0 Step -1”但如果我反转它,即“0 to ListBox1.Items.Count - 1 Step -1 " 它列出了所有的 "REQUESTS FOR ADMISSION NO." [1-20] 在列表框的顶部,而不是根据需要在列表框的每一行之前。
标签: vb.net insert vb.net-2010 listboxitems