Перебирая картинки в картинках и добавляя их имя в выпадающий список? - PullRequest
0 голосов
/ 15 июня 2019

У меня есть около 20 изображений в картинке, и я хочу просмотреть все изображения и добавить их имя в комбинированный список, затем я использую комбинированный список, чтобы изменить изображение в картинке. Я не знаю, как перебирать изображения в картинках.

например .. эти имена enter image description here

Ответы [ 2 ]

1 голос
/ 15 июня 2019

Чтобы заполнить 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
0 голосов
/ 15 июня 2019

Здесь есть несколько вещей, на которые следует обратить внимание.Самое главное, у Image объектов нет имени, поэтому перечислять нечего.Может быть, вы имеете в виду имена файлов, из которых были созданы объекты Image, но это нечто иное.Вы не сможете получить их из элементов управления PictureBox, если не установите свойства ImageLocation для загрузки файлов.Предполагая, что вы сделали это, вы можете получить имя каждого файла из PictureBoxes следующим образом:

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

Это все еще не имеет никакого смысла.Кажется, что получить имена файлов перед загрузкой Images было бы разумнее.Вы действительно недостаточно объяснили, чтобы обеспечить уверенное решение.

...