Picturebox dynamisch erzeugen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Picturebox dynamisch erzeugen

    Servus!
    Hab ich heute gleich noch eine Frage. Ich möchte in meinem Programm in einem Panel mehrere Pictureboxen mit Bild erzeugen.
    Leider wird immer nur eine Picturebox erzeugt. Was mache ich falsch ?

    VB.NET-Quellcode

    1. For i As Integer = 0 To lbImages.Items.Count - 1
    2. Dim File As String = Application.StartupPath & "\Patienten\" & TSPatNr.ToString.Remove(0, 18) & "_" & TSNachname.ToString.Remove(0, 10) & "\" & lbImages.Items(i).ToString
    3. Dim pb(i) As PictureBox
    4. pb(i) = New PictureBox
    5. Me.Panel1.Controls.Add(pb(i))
    6. pb(i).Tag = i
    7. pb(i).Name = "pb" & i.ToString
    8. pb(i).Image = Image.FromFile(File)
    9. pb(i).Size = New Size(80, 80)
    10. pb(i).SizeMode = PictureBoxSizeMode.Zoom
    11. Next


    MFG Andi2572
    Du brauchst kein Array.
    Sieh Dir mal zum Verständnis dies hier an:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. For i As Integer = 1 To 10
    3. Dim pb As New PictureBox
    4. pb.Size = New Size(30, 30)
    5. pb.Location = New Point(i * 20, i * 20)
    6. Dim i20 As Integer = 20 * i
    7. pb.BackColor = Color.FromArgb(i20, i20, i20)
    8. Me.Controls.Add(pb)
    9. Next
    10. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Dafür gibt es die Properties Size und Location.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Da musst Du die zur Verfügung stehende Breite durch die Breite eines Bildes (+ Abstand) (Integer-)dividieren (a \ b) und erhältst die Anzahl der darstellbaren Bilder pro Zeile.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!