【问题标题】:Sorting Listbox Items numerically in VB在VB中对列表框项目进行数字排序
【发布时间】:2010-01-28 19:34:23
【问题描述】:

我需要对 Visual Basic 列表框中的项目进行数字排序,也就是说,我有一个我希望越来越多地排序的数字集合。

我尝试简单地使用列表框的 Sorted 属性,但发现它将数字视为字符串,也就是说,它会查看第一个数字,然后查看第二个数字,依此类推来确定顺序。例如,这意味着 13 将在 5 之前显示。

我想过将所有数字转储到一个数组中,对数组进行排序,然后将它们推回列表框,但是,老实说,我不知道如何进行排序。我认为该数组将毫无用处,因为列表框已经充当伪数组。

有什么想法吗?

【问题讨论】:

    标签: vb.net visual-studio sorting


    【解决方案1】:

    你可以这样使用:

    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)
    

    【讨论】:

      【解决方案2】:

      您可以将项目转储到 List(Of Integer) 对象中并调用它的排序。然后将您的列表框绑定到该新列表后排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-10
        • 1970-01-01
        相关资源
        最近更新 更多