获取名称首字母相同的所有文件或图像

Get all files or images with the same initial part of the name

我有 1 个带有文件名的列表框,使用此代码获得:

Dim files As New List(Of String) files.AddRange(IO.Directory.GetFiles(Xpath, "*.txt"). Select(Function(f) IO.Path.GetFileNameWithoutExtension(f)))

我想在 PictureBox 中加载具有相同初始名称的图像列表。

示例:如果我 select "house" ListBox 中的项目,我想获取(显示)以相同字符串开头的所有图像。 在此示例中,文件 "houses.jpg"、"house 1.jpg"、"house 2.jpg"、"house 2 backyard.jpg"、"house(4).jpg"、"house roof.jpg" 和找到的任何其他文件(在同一目录中)必须显示在图片框...

如何 list/get(部分)相同名称的文件?在 PictureBox 处使用(我想这必须过滤并排除原始 .txt 以避免错误)。这些文件位于程序路径内的静态文件夹中。它很容易加载每个文件的 1 个图像,名称完全相同,我使用:

PictureBox1.image = (Application.StartupPath & "\buildings\" & ListBox1.SelectedItem.ToString & ".jpg")

但我的目的是检测并使用超过 1 个具有相同部件名称的图像

也许第一步是创建一个列表...但我不知道。

将字符串添加到 ListBox 项目集合后,您可以使用 Linq 非常轻松地检索您想要的项目

Dim names = ListBox1.Items.
            Cast(Of String)().
            Where(Function(x) x.StartsWith("house")).ToList()

现在您在 names 列表中有了以建议常量开头的项目。当然,一个图片框一次只显示一张图片,因此您可以遍历此列表(可能使用几个按钮在名称列表中向前或向后移动),然后在您的图片框中显示图像其他.