2014-12-03 2 views
0

Я пытаюсь изменить ответ нашел here, но я не много удачи ....Реферирование в PictureBox, используя переменное изображение в Visual Basic 2012

То, что я пытаюсь сделать, это:

У меня 12 фотографий и 12 картинок. В цикле я пытаюсь получить его, чтобы проверить количества и загрузить соответствующий файл (ы) так, если это # ​​3 он должен загрузить изображения 1-3 в PictureBoxes 1-3

Я думаю, что я м близко, но я не могу понять его

декларацию словаря и проходящей подпрограмму

Dim ctrlDict As New Dictionary(Of Image, Control) 
Dictionary(ctrlDict) 

Определение Sub

Sub dicti(pictures() As Image, ByRef ctrlDict As Dictionary(Of Image, Control)) 

    ctrlDict.Add(pictures(0), PictureBox1) 
    ctrlDict.Add(pictures(1), PictureBox2) 
    ctrlDict.Add(pictures(3), PictureBox3) 

End Sub 

L Oop

Ошибки я получаю «programname.my.resources этого пространства имен и не может быть использовано в качестве выражения» и «PictureBox является типом и не может быть использовано как выражение»

Sub Output(Days() As String, Prices() As String, WhichDay As String, total As Double, ctrlDict As Dictionary(Of Image, Control)) 

    For i As Integer = 0 To 11 
     If WhichDay >= i Then 
      ctrlDict(PictureBox & i).Image = pictures(i) 
     End If 
    Next 
End Sub  

ответ

0

Я нашел ответ

Dim pic As PictureBox 

    For i As Integer = 0 To 11 
     If WhichDay >= i Then 
      pic = Me.Controls("picturebox" & i + 1) 
      pic.Image = pictures(i) 
     End If 
    Next 
0

с верхней части моей головы, довольно уверен, что вы не можете сделать

ctrlDict(PictureBox & i).Image = pictures(i) 

вы будете должны найти элемент управления, который имеет свойство имени, равное (PictureBox.name & I). Затем используйте этот элемент управления и установите изображение.

Dont есть IDE на этом компьютере, но это будет что-то вроде

dim controlToUse as PictureBox 
for each ctrl in ctrlDict 
    if ctrl.value.name = "Whatever youre calling your pictureboxes" & i then 
     controlToUse = ctrl.value 
     exit for 
    end if 
next 

if not controlToUse is nothing then controlToUse.image = pictures(i) 

Пожалуйста, обратите внимание, что выше psuedocode. Не ожидайте его компиляции!

Смежные вопросы