2013-12-09 44 views
0

我有一個列表框麻煩排序項數值。我所有擁有「1」的文件名都被分組在一起。例如=(文件1,file10,FILE11,文件2,文件3,文件4等)排序項在ListBox數控

我有設置爲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等

建議在排序文件名?

+0

LBS_SORT按字母順序排序,因此,爲了你所看到的。你想看什麼順序? – rrirower

+0

我想將它們排序爲file1,file2,file3,file4等。 – Muhnamana

+0

C++提供了使用[SetItemData](http://sdn.microsoft.com/en-us/)對某些「項目」數據進行編碼的功能庫/ ck636w45.aspx)。數據可以用來以任何方式對列表進行排序。你有類似的能力嗎? – rrirower

回答

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 
+0

希望我可以給+2添加正則表達式 –