2012-02-25 58 views
0

(所有在列表框的名字实际上是.txt文件,其中包含可由某个窗口被放入程序不同的值。)在ListBox订购项目使用的ComboBox

我想使用ComboBox按特定值排序列表中的项目。所以说我在ComboBox中选择“按字母顺序排序”,我希望它按字母顺序排列列表框中的项目。

此外,如果我想在我想要排序的.txt文件中有一定的值,有没有一种方法可以通过它进行排序?

+1

[你有什么试过](http://mattgemmell.com/2008/12/08/what-have-you-tried/)?我希望你不希望我们为你编写代码,是吗?因为那不会发生。 – 2012-02-25 23:00:47

+0

我不是要求你为我写代码,我只是要求提供一些关于它应该如何写的建议。我只知道按列表排序,但我不知道如何从.txt文件中获取值并将它们放入列表中。有什么功能可以帮助吗?不是整个代码.. – 2012-02-25 23:07:12

+0

向我们展示你到目前为止所尝试过的。解释你迄今为止遇到的困难与你的尝试。问一个真正的问题。这就是Stack Overflow的工作原理。 – 2012-02-25 23:08:02

回答

1

您无法直接对文本文件进行排序。你将不得不创建一个包含你正在interesed信息类。

Public Class TextfileInfo 
    Public Filename As String 
    Public Filedate As DateTime 
    Public Filesize As Integer 
    Public SomeValueOfTextfile As String 
    Public SomeOtherValueOfTextfile As String 

    Public Overrides Function ToString() As String 
     Return Filename 
     ' Will be displayed in the ListBox. 
    End Function 
End Class 

然后,您可以更改列表框中的内容是这样

Dim files As New List(Of TextfileInfo)() 
'TODO: add items to files 

Dim displayList = From file In files _ 
     Order By file.Filesize _ 
     Select file 
listBox1.Items.Clear() 
listBox1.Items.AddRange(displayList.ToArray()) 

你可以得到的文件和这样

他们的信息
Dim files As New List(Of TextfileInfo)() 
Dim dir = New DirectoryInfo("C:\MyTextfiles") 
Dim fileInfo As FileInfo() = dir.GetFiles("*.txt") 
For Each fi As FileInfo In fileInfo 
    Dim file = New TextfileInfo() 
    file.Filesize = CInt(fi.Length) 
    ' Add all other properties. 
    ' Open the file and extract information from it. 
    files.Add(file) 
Next 

我让你编程其他细节。

+0

非常感谢奥利弗 – 2012-02-25 23:29:42