0

リストボックス内のアイテムを数値でソートするのに問題があります。「1」を持つファイル名はすべてグループ化されています。例 = (ファイル 1、ファイル 10、ファイル 11、ファイル 2、ファイル 3、ファイル 4 など)

リストボックスの 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

ファイル 1、ファイル 2、ファイル 3、ファイル 4 などのように並べ替えたいと思います。

ファイル名の並べ替えに関する提案はありますか?

4

1 に答える 1

2

リストボックスの並べ替えを削除して、次のことを行います。

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
于 2013-12-09T19:36:39.530 に答える