我需要以数字方式对视觉基本列表框中的项目进行排序,也就是说,我希望逐渐对数字进行排序。
我试图简单地使用列表框的Sorted属性,但发现它将数字视为字符串,即它会查看第一个数字,然后是第二个数字等,以确定顺序。例如,这意味着13将在5之前显示。
我想把所有数字转储到一个数组中,对数组进行测试,然后将它们推回到列表框中,但老实说,我不知道如何进行排序。我认为数组是无用的,因为列表框已经充当伪数组。
有什么想法吗?
答案 0 :(得分:3)
您可以使用以下内容:
Private Shared Sub SortIntegerListBox(ByVal listBox As ListBox)
Dim TempList As New List(Of Integer)
For Each LI In listBox.Items
TempList.Add(Integer.Parse(LI.ToString()))
Next
TempList.Sort()
listBox.DataSource = TempList
End Sub
绑定后调用它:
Dim Items As New List(Of Integer)
Items.Add(1)
Items.Add(13)
Items.Add(2)
Me.ListBox1.DataSource = Items
SortIntegerListBox(Me.ListBox1)
答案 1 :(得分:1)
您可以将项目转储到List(Of Integer)
对象中并调用其排序。然后将列表框绑定到排序后的新列表。