Hallo,
ich erzeuge beim starten einer Form, in einer Laufzeit, in einem Panel PictureBoxen.
Orientiert habe ich mich da an einem anderen Foren Beitrag vom Rolf-W zum Thema Auf zur Laufzeit erstellte PictureBox zugreifen und das funktioniert auch sehr gut.
Wenn ich jetzt aber die Kategorie wechseln, baut er die neuen PictureBoxen hinter die alten.
Da wer meine frage jetzt, wie bekomme ich die alten PictureBoxen vor dem neuen Durchgang gelöscht.
MFG Jonas
ich erzeuge beim starten einer Form, in einer Laufzeit, in einem Panel PictureBoxen.
Orientiert habe ich mich da an einem anderen Foren Beitrag vom Rolf-W zum Thema Auf zur Laufzeit erstellte PictureBox zugreifen und das funktioniert auch sehr gut.
Wenn ich jetzt aber die Kategorie wechseln, baut er die neuen PictureBoxen hinter die alten.
Da wer meine frage jetzt, wie bekomme ich die alten PictureBoxen vor dem neuen Durchgang gelöscht.
MFG Jonas
VB.NET-Quellcode
- Sub test()
- Durchgang = 0
- IC = 0
- Page_Max_X = Panel1.Width
- MaxBilder = BilderDataGridView.RowCount
- Do
- If Not Durchgang = MaxBilder Then
- IC += 1
- Dim nPb = New PictureBox
- Me.Invoke(Sub() Panel1.Controls.Add(nPb))
- With nPb
- .Name = String.Format("Bild Nr. {0}", IC.ToString)
- .Location = New Point(Image_Location_X, Image_Location_Y)
- .Size = New Size(Image_X, Image_Y)
- .SizeMode = PictureBoxSizeMode.Zoom
- .BorderStyle = BorderStyle.FixedSingle
- .Image = Image.FromFile(Bild)
- .Tag = BilderDataGridView.Rows(Durchgang).Cells(0).Value
- End With
- AddHandler nPb.MouseClick, AddressOf Picture_Box_Click
- ''Berechnung der X und Y Werte des neues Bildes
- If Image_Location_X + Image_X + Image_X + Images_distance_X + Images_distance_X <= Page_Max_X Then
- Image_Location_X = Image_Start_Location_X + Image_Location_X + Image_X + Images_distance_X
- Else
- Image_Location_X = Image_Start_Location_X
- Image_Location_Y = Image_Start_Location_Y + Image_Location_Y + Image_Y + Images_distance_Y
- End If
- Durchgang += 1
- Else
- Exit Do
- End If
- Loop
- End Sub