【问题标题】:Sorting Items In A Listbox Numerically对列表框中的项目进行数字排序
【发布时间】:2013-12-10 03:36:39
【问题描述】:

我在对列表框中的项目进行数字排序时遇到问题。我所有带有“1”的文件名都组合在一起。示例 =(file1、file10、file11、file2、file3、file4 等)

我将列表框上的 Sorted 选项设置为 True,但似乎无法正常工作。

这是我目前添加项目的方式。

    Dim directoryInfo As New System.IO.DirectoryInfo(TextBox1_Path.Text)
    Dim fileInfos() As System.IO.FileInfo            
    fileInfos = directoryInfo.GetFiles()
    For Each fileInfo As System.IO.FileInfo In fileInfos
        ListBoxUPSFiles.Items.Add(fileInfo.Name)
    Next

我想将它们排序为 file1、file2、file3、file4 等。

对文件名排序的建议?

【问题讨论】:

  • LBS_SORT 按字母顺序排序,因此是您看到的顺序。你想看什么订单?
  • 我想将它们排序为 file1、file2、file3、file4 等。
  • C++ 提供了使用SetItemData 对一些“项目”数据进行编码的能力。数据可用于以任何方式对列表进行排序。你有类似的能力吗?
  • VB的这个我不太清楚,我去看看。

标签: vb.net sorted listboxitems


【解决方案1】:

删除列表框排序并执行:

For Each fileInfo As System.IO.FileInfo In fileInfos.OrderBy( _
    Function(fi) Integer.Parse(Regex.Match(fi.Name, "\d+").Value))
    ListBoxUPSFiles.Items.Add(fileInfo.Name)
Next

【讨论】:

  • 希望我可以为添加 RegEx 提供 +2
猜你喜欢
  • 1970-01-01
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
相关资源
最近更新 更多