我在picturebox中有大约20张图片,我想遍历所有的图片,并将其名称添加到combobox中,然后使用combobox更改picturebox中的图片。我不知道如何遍历picturebox图片。
对于example..these名称

发布于 2019-06-16 00:18:40
要使用资源中的图像填充ComboBox:
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要选择图像并将其设置为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发布于 2019-06-15 20:18:06
这里有几个问题需要解决。最重要的是,Image对象没有名称,所以没有要列出的内容。也许您指的是从中创建Image对象的文件的名称,但这是不同的。除非将ImageLocation属性设置为加载文件,否则无法从PictureBox控件中获取这些文件。假设您已经这样做了,您可以从PictureBoxes中获得每个文件的名称,如下所示:
Dim fileNames = Controls.OfType(Of PictureBox)().
Select(Function(pb) IO.Path.GetFileName(pb.ImageLocation))尽管如此,这仍然没有什么意义。在加载Images之前获取文件的名称似乎更有意义。但是,您还没有真正解释足够的内容来提供一个有信心的解决方案。
https://stackoverflow.com/questions/56609509
复制相似问题