循环浏览图片框中的图片并将其名称添加到组合框?
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
我在图片框中有大约 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