列表框应该只显示pdf扩展名?

时间:2013-02-15 10:48:27

标签: vb.net listbox

我有一个列表框,可以读取预定义目录中的所有文件。在这个目录中是各种文件。我想要的只是“过滤”PDF文件,以便只有.pdf扩展名的文件显示在列表框中

我该怎么做?

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' make a reference to a directory
    Dim di As New IO.DirectoryInfo("c:\")
    Dim diar1 As IO.FileInfo() = di.GetFiles()
    Dim dra As IO.FileInfo

    'list the names of all files in the specified directory
    For Each dra In diar1
        ListBox1.Items.Add(dra)
    Next
End Sub

2 个答案:

答案 0 :(得分:1)

DirectoryInfo.GetFiles有一个带字符串的重载 此字符串是用于过滤文件列表结果的模式。

所以你的代码可以简化(当然,使用更少的文件循环,它会更高效)

Dim di As New IO.DirectoryInfo("c:\")
Dim diar1 As IO.FileInfo() = di.GetFiles("*.pdf")
Dim dra As IO.FileInfo
For Each dra In diar1
    ListBox1.Items.Add(dra)
Next

另外,请注意,如果您不需要文件FileInfo对象,则只需使用

即可
Dim files As String() = Directory.GetFiles(yourDirectory, "*.PDF")

Directory.GetFiles只返回一个包含所请求名称的字符串数组

答案 1 :(得分:0)

你可以这样做:

For Each dra In diar1
    If System.IO.Path.GetExtension(dra.Name).ToLower() = "pdf" Then
        ListBox1.Items.Add(dra)
    End If
Next