答案 0 :(得分:1)
要使用来自资源的图像填充组合框:
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
答案 1 :(得分:0)
这里有几件事要解决。最重要的是,Image
对象没有名称,因此没有要列出的内容。也许您是指创建Image
对象的文件的名称,但这有所不同。除非您设置PictureBox
属性来加载文件,否则您将无法从ImageLocation
控件中获取这些文件。假设您已这样做,则可以像这样从PictureBoxes
获取每个文件的名称:
Dim fileNames = Controls.OfType(Of PictureBox)().
Select(Function(pb) IO.Path.GetFileName(pb.ImageLocation))
那仍然没有任何意义。似乎在加载Images
之前获取文件名会更有意义。不过,您还没有真正解释足以提供一个自信的解决方案。