A už otravuju znovu... Potřebuji poradit jak indexovat prvky které si vytvořím za běhu... zde je můj kód, při kliku na button 2 mi to ale píše IndexOutOfRangeException
Public Class Form1
Dim kdo As Integer, ind As Integer
Private _PictureBox() As PictureBox
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_PictureBox = Me.Controls.OfType(Of PictureBox).OrderBy(Function(PictureBox) PictureBox.TabIndex).ToArray()
End Sub
Private Sub PridejObrazek(ByVal a, ByVal b)
Dim blocek As New PictureBox()
blocek.Image = Image.FromFile("c:\btn_zs.png")
blocek.Name = "_PictureBox(" & ind & ")"
blocek.Size = blocek.Image.Size
blocek.Location = New Point(a, b)
AddHandler blocek.Click, New System.EventHandler(AddressOf blocek_Click)
Me.Controls.Add(blocek)
End Sub
Private Sub blocek_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim blocek As PictureBox = CType(sender, PictureBox)
MsgBox("jmeno:" & blocek.Name)
End Sub
Private Function Anim(ByVal PocetCyklu, ByVal ParamArray Useky())
For kdo = 0 To PocetCyklu Step 1
For Each Var In Useky
Application.DoEvents()
_PictureBox(Var).Image = Image.FromFile("c:\nav_b.png") 'ZDE JE PROBLEM!!!
Next Var
Next
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For X = 0 To 100 Step 10
For Y = 0 To 100 Step 10
Application.DoEvents()
Threading.Thread.Sleep(5)
ind += 1 'pricita cislo prvku
PridejObrazek(X, Y)
Next Y
Next X
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Anim(90, 1, 8, 14)
End Sub
End Class
potřebuju vytvořit x PictureBoxů(bude načteno ze souboru), vykreslit... A po stisku buttonu2 se provede funkce Anim()- prvni číslo udává celkový počet picture boxů, které bude ta funkce zpracovávat a další jsou indexy těch pictureBoxů... když je tam fyzicky dám tak to funguje! Ale já je potřebuju vytvářet až za běhu v závislosti na hodnotě která bude v souboru
|