[ 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.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.