Funktion generiert keine Pictureboxen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Leseratte.

    Funktion generiert keine Pictureboxen

    Hallo, möchte etwas programmieren, wo ich ein Raster aus Pictureboxen brauche und hab mir deshalb eine Funktion geschrieben:

    VB.NET-Quellcode

    1. Private Function GeneratePictureBox(ByVal Groesse As Size)
    2. For i = 0 To 11
    3. For j = 0 To 19
    4. Dim pb As New PictureBox
    5. pb.Location = New Point(j * (Groesse.Width + 1), i * (Groesse.Height + 1))
    6. pb.Size = New Size(Groesse)
    7. pb.Name = "Picture_" & j.ToString & "_" & i.ToString
    8. Me.Controls.Add(pb)
    9. Next
    10. Next
    11. End Function
    Leider funktioniert's nicht, ich bekomme keinen Fehler, aber leider auch keine Pictureboxen. Habt ihr ne Idee?

    Vielen Dank

    Leseratte

    EDIT: Ich bin ein Idiot.

    Vielleicht hätte ich der PB auch ein Image zuweisen sollen?

    *erledigt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Leseratte“ ()

    Ein paar Bemerkungen zu der Funktion
    - Wenn man von einer Methode keinen Rückgabewert erwartet, dann nimmt man Sub und nicht Function
    - Groesse ist schon vom Typ Size und wurde schon beim Aufruf der Funktion angegeben, daher ist hier New Size unnötig
    - Hauptproblem dieser Funktion ist vermutlich die Hintergrundfarbe. Ändere die Hintergrundfarbe der neu erstellten PictureBoxen und sie werden dann auch sichtbar sein.

    VB.NET-Quellcode

    1. Private Sub GeneratePictureBox(ByVal Groesse As Size)
    2. For i = 0 To 11
    3. For j = 0 To 19
    4. Dim pb As New PictureBox
    5. pb.Location = New Point(j * (Groesse.Width + 1), i * (Groesse.Height + 1))
    6. pb.Size = Groesse ' ist schon vom Type Size! - New Size(Groesse)
    7. pb.Name = "Picture_" & j.ToString & "_" & i.ToString
    8. pb.BackColor = Color.DarkGray ' Standard-BackColor = Control-Color
    9. Me.Controls.Add(pb)
    10. Next
    11. Next
    12. End Sub