In Picture Box zeichnen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Uwe_S.

    In Picture Box zeichnen

    Hallo, wer kann mir da vielleicht weiterhelfen?

    Habe auf einer Form ein OK-Button und eine Picture-Box. Sobald ich auf den OK-Button klicke werden geometrische Punkte berechnet und in ein PointF-Array abgelegt.
    Diese Punkte möchte ich dann in diese Picture box (im Paint-Event) anzeigen lassen. Wie gehe ich da vor???
    Wenn ich die Punkte direkt auf die Form zeichne (also nicht in die picture Box) ist das kein Problem, aber wie "sage" ich dem OK-Button, dass ich es nun in die Picture-Box und nicht auf die Form zeichnen möchte?
    Wäre super, wenn mir jemand ein kleines Demo-Programm schreiben könnte. :D
    Vielen Dank im Voraus!! :)

    LG U.

    Uwe_S schrieb:

    Wenn ich die Punkte direkt auf die Form zeichne (also nicht in die picture Box) ist das kein Problem, aber wie "sage" ich dem OK-Button, dass ich es nun in die Picture-Box und nicht auf die Form zeichnen möchte?

    Na logischerweise, wie gehabt, im PaintEvent.
    Aber nicht im PaintEvent der Form, sondern im PaintEvent der Picturebox.
    @Uwe_S Sieh Dir mal dies an:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private pts As List(Of Point)
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. pts = New List(Of Point)
    4. pts.Add(New Point(50, 50))
    5. pts.Add(New Point(200, 50))
    6. pts.Add(New Point(200, 200))
    7. pts.Add(New Point(50, 200))
    8. pts.Add(New Point(50, 50))
    9. PictureBox1.Invalidate()
    10. End Sub
    11. Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
    12. If pts Is Nothing OrElse pts.Count = 0 Then
    13. Return
    14. End If
    15. e.Graphics.DrawLines(Pens.Black, pts.ToArray)
    16. 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!
    ja das ist mir schon klar, aber was muss ich im Click-Event vom OK-Button programmieren dass es in der picturebox angezeigt wird?
    Hast du mir ein kleines Beispiel, ErfinderdesRades?



    SUPER!!! :D
    Ich bedanke mich recht herzlich bei euch 2 Profis!!
    Es klappt! Machte es wohl komplizierter wie es sein musste.
    Die Lösung war PictureBox1.Invalidate() im Click.event. Logisch! ;(

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