[ AleXys @ 10.08.2009. 10:46 ] @
Zelim da matrici dodelim kontrola pictureboxova, na primer, da mi pb(1).image bude isto što i picturebox1.image

Problem je što se ne zna koliko postoji pictureboxova, nekad može imati 3, nekad 15, nekad 25, broj se stalno menja, pa nije moguće da sam ispišem, jer ne znam koliko će ih biti.

Kako to mogu da uradim?

P.S. Ako pomaže, znam kako da pronađem broj pictureboxova:
Code:
Dim kontrola As Control
        For Each kontrola In Me.Controls
            If TypeOf kontrola Is PictureBox Then
                b = Mid(kontrola.Name, 11)
                Exit For
            End If
        Next


b sada sadrži broj pictureboxova.

Izgleda jednostavno, ali ne znam kako ovo da rešim, a veoma mi je potrebno.
[ MarkoBalkan @ 11.08.2009. 12:17 ] @
kad ih bude 3 jel znaš tada da će ih biti 3?

ako znaš, tu vrijednost staviš u for petlju.

a o čemu ti ovisi broj?


učitaš 3 dodijeliš nekoj varijabli.
x=3
i onda pustiš kroz for petlju.
for i=0 to x
[ AleXys @ 11.08.2009. 23:59 ] @
Misliš na:
Code:

x=3

for a as integer = 1 to 3
pb(a) = pictureboxa (ili pictureboxa), ili picturebox + a, ili picturebox & a?
next



???
[ MarkoBalkan @ 12.08.2009. 11:03 ] @
ne znam što ti je cilj napraviti i iz kojeg podatka znaš koliko ti treba picturebox-a?
[ DarkMan @ 12.08.2009. 14:43 ] @
C#
Code:

        public Form1()
        {
            InitializeComponent();
            PictureBox[] items = GetPictureBoxes(this.Controls);
        }

        public PictureBox[] GetPictureBoxes(Control.ControlCollection controls)
        {
            List<PictureBox> items = new List<PictureBox>();
            if(controls != null && controls.Count > 0) {
                foreach(Control control in controls) {
                    if(control is PictureBox) items.Add((PictureBox)control);
                }
            }
            return items.ToArray();
        }


konvertovano u VB.NET (http://www.developerfusion.com/tools/convert/csharp-to-vb/)
Code:

Public Sub New()
    InitializeComponent()
    Dim items As PictureBox() = GetPictureBoxes(Me.Controls)
End Sub

Public Function GetPictureBoxes(ByVal controls As Control.ControlCollection) As PictureBox()
    Dim items As New List(Of PictureBox)()
    If controls IsNot Nothing AndAlso controls.Count > 0 Then
        For Each control As Control In controls
            If TypeOf control Is PictureBox Then
                items.Add(DirectCast(control, PictureBox))
            End If
        Next
    End If
    Return items.ToArray()
End Function

[ AleXys @ 12.08.2009. 16:13 ] @
Hvala ti puno, ali nažalost, pojavljuje mi se greška kada upotrebim tu novo napravljenu matricu.

Index was outside the bounds of the array.

Kao index sam upotrebio 3, a pictureboxa imam 3.