循环浏览图片框中的图片并将其名称添加到组合框?

Looping through pictures in picturebox and adding its name to combobox?

我在图片框中有大约 20 张图片,我想遍历所有图片并将其名称添加到组合框,然后我使用组合框更改图片框中的图片。我不知道如何循环浏览图片框图像。

例如..这些名字

这里有几件事要解决。最重要的是,Image 个对象没有名称,因此没有什么可列出的。也许您指的是创建 Image 对象的文件的名称,但这是不同的。除非您设置 ImageLocation 属性来加载文件,否则您将无法从 PictureBox 控件中获取这些文件。假设您已经这样做了,您可以像这样从 PictureBoxes 中获取每个文件的名称:

Dim fileNames = Controls.OfType(Of PictureBox)().
                         Select(Function(pb) IO.Path.GetFileName(pb.ImageLocation))

虽然这仍然没有真正意义。在加载 Images 之前获取文件名似乎更有意义。不过,您的解释还不够充分,无法提供可靠的解决方案。

使用资源中的图像填充组合框:

   For Each dicEntry As DictionaryEntry In resourceSet.OfType(Of Object)()
        If TypeOf (dicEntry.Value) Is Drawing.Image Then
            ComboBox1.Items.Add(dicEntry.Key.ToString())              
        End If
   Next

将图像 select 设置为 PictureBox :

 Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
     Dim comboBox As ComboBox = CType(sender, ComboBox)
     Dim sSelectedItem = CType(comboBox.SelectedItem, String)
     Dim img As Image = CType(My.Resources.ResourceManager.GetObject(sSelectedItem), Image)
     PictureBox1.BackgroundImage = img
 End Sub