2017-01-17 14 views
0

У меня есть папка под названиемПоказать изображения из файла в PictureBoxes

App.Path & "\Images"

Внутри него у меня есть 5 изображений и в моем Form у меня тоже 5 Pictureboxes. Теперь мой вопрос: как я могу отобразить их все PictureBox за Image за раз? Heres мой код до сих пор

Picture1.Picture = LoadPicture("Path")

Вот что я сделал до сих пор

Dim c   As Control 
    Dim ImageLink As String 

    With vs1 

     For Each c In Form1 
      For i = 1 To .Rows - 1 

       If Len(ImageLink) > 0 Then ImageLink = ImageLink 


       Debug.Print c.Picture 
       Debug.Print .TextMatrix(i, .ColIndex("Image")) 
       MsgBox .TextMatrix(i, .ColIndex("Image")) 
       c.Picture = LoadPicture("C:\Users\paul\Desktop\Gondola Monitoring System\Image\" & .TextMatrix(i, .ColIndex("Image"))) 

      Next 
     Next 
    End With 
    Form1.Show 

Я пытаюсь написать имя файла в FlexGrid и вызвать его в каждый элемент управления.

TYSM помощи

ответ

0
Picture1.Picture = LoadPicture(App.Path & "\Images\file1.jpg") 
Picture2.Picture = LoadPicture(App.Path & "\Images\file2.jpg") 
Picture3.Picture = LoadPicture(App.Path & "\Images\file3.jpg") 
Picture4.Picture = LoadPicture(App.Path & "\Images\file4.jpg") 
Picture5.Picture = LoadPicture(App.Path & "\Images\file5.jpg") 

Если это не дает вам то, что вам нужно, пожалуйста, предоставьте более подробную информацию о ваших требованиях.

EDIT

Ваш код не будет работать. Вы перебираете все элементы управления, в которые будут входить любые кнопки, метки и т. Д., В дополнение к вашим элементам управления изображением, и для каждого элемента управления вы перебираете все строки вашей сетки. Одним из лучших подходов было бы определить элементы управления изображением в виде массива (начальный индекс от 1 до соответствия вашей сетке для цикла), тогда индекс for используется для соответствия строк сетки и индексов изображений. Что-то вроде этого:

With vs1 
    For i = 1 To .Rows - 1 
     Picture1(i).Picture = LoadPicture("C:\Users\paul\Desktop\Gondola Monitoring System\Image\" & .TextMatrix(i, .ColIndex("Image"))) 
    Next 
End With 
+0

Сэр pls см. Отредактированный пост –