我如何从 2 个不同的来源 (folders/directories) 填充列表框?
How I Fill listbox from 2 different sources (folders/directories)?
我正在尝试将一些文档分类到列表框中,如果我的文档是扫描图片到文件夹中的集合,它必须在 lisbox1 列出每个文件夹,如果我的文档是 .pdf 也必须添加
directo = "D:\books\
ListBox1.DataSource = IO.Directory.GetDirectories(directo, "*.*", IO.SearchOption.TopDirectoryOnly)
ListBox1.DataSource = IO.Directory.GetFiles(directo, "*.pdf", IO.SearchOption.TopDirectoryOnly)
我得到的结果是:
D:\books\Book-A
D:\books\Book-B
D:\books\Book-C
或
D:\books\Book-E.pdf
D:\books\Book-F.pdf
D:\books\Book-G.pdf
但我无法混合使用,每次列表框只显示一个或另一个来源。有什么建议可以列出吗?
您可以将 GetDirectories
和 GetFiles
的 return 值转换为 List(Of String)
,然后将两者合并在一起。然后可以将此合并列表分配给 ListBox 的 DataSource 属性。请参阅下面的示例。
Dim directories As List(Of String) = Directory.GetDirectories(directo, "*.*", SearchOption.TopDirectoryOnly).ToList()
Dim files As List(Of String) = Directory.GetFiles(directo, "*.pdf", SearchOption.TopDirectoryOnly).ToList()
Dim dataSourceList As New List(Of String)
dataSourceList.AddRange(directories)
dataSourceList.AddRange(files)
ListBox1.DataSource = dataSourceList
我正在尝试将一些文档分类到列表框中,如果我的文档是扫描图片到文件夹中的集合,它必须在 lisbox1 列出每个文件夹,如果我的文档是 .pdf 也必须添加
directo = "D:\books\
ListBox1.DataSource = IO.Directory.GetDirectories(directo, "*.*", IO.SearchOption.TopDirectoryOnly)
ListBox1.DataSource = IO.Directory.GetFiles(directo, "*.pdf", IO.SearchOption.TopDirectoryOnly)
我得到的结果是:
D:\books\Book-A
D:\books\Book-B
D:\books\Book-C
或
D:\books\Book-E.pdf
D:\books\Book-F.pdf
D:\books\Book-G.pdf
但我无法混合使用,每次列表框只显示一个或另一个来源。有什么建议可以列出吗?
您可以将 GetDirectories
和 GetFiles
的 return 值转换为 List(Of String)
,然后将两者合并在一起。然后可以将此合并列表分配给 ListBox 的 DataSource 属性。请参阅下面的示例。
Dim directories As List(Of String) = Directory.GetDirectories(directo, "*.*", SearchOption.TopDirectoryOnly).ToList()
Dim files As List(Of String) = Directory.GetFiles(directo, "*.pdf", SearchOption.TopDirectoryOnly).ToList()
Dim dataSourceList As New List(Of String)
dataSourceList.AddRange(directories)
dataSourceList.AddRange(files)
ListBox1.DataSource = dataSourceList