Daten Hinzufügen

  • VB.NET

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

    Daten Hinzufügen

    Hallo!
    Ich erstelle gerade ein Programm, der einen Graph zeichnet.

    VB.NET-Quellcode

    1. Imports System.Drawing.Drawing2D
    2. Public Class frmGraph
    3. Dim x As Integer = 0
    4. Dim y As Integer = 500
    5. Dim points() As PointF
    6. Private Sub GraphZeichnen()
    7. Dim path As New GraphicsPath()
    8. points = { _
    9. New Point(100, y - 0), _
    10. New Point(200, y - 100), _
    11. New Point(300, y - 100), _
    12. New Point(400, y - 100)}
    13. 'path.AddCurve(points)
    14. path.AddLines(points)
    15. Dim Zeichnen As Graphics = picGraph.CreateGraphics
    16. Zeichnen.DrawPath(Pens.Black, path)
    17. End Sub
    18. Private Sub cmdRechnen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRechnen.Click
    19. GraphZeichnen()
    20. End Sub
    21. End Class



    So jetzt möchte ich, dass ich in einer Textbox (txtX) einen x Wert eingebe und in einer anderen Textbox (txtY) einen y wert eingebe. (Das ist nicht das Problem). Wenn ich dann einen Button (cmdAddPoint) drücke, soll er den Punkt zu den points hinzufügen. (s.o.) So kann ich z.b. 4 Punkte hinzufügen. Wie geht das? ?(

    Danke schon mal an die Hilfe! ;)
    LG MJM
    1)CreateGraphics() ist Müll, da bei jedem Invalidieren deine Zeichungen weg sind.
    => Benutze das OnPaint-Event eines Panels.

    2)Nimm ein NumericUpDown anstatt einer Textbox.

    VB.NET-Quellcode

    1. Private points As New List(Of Point)
    2. Sub AddPoints()
    3. Dim x = NumericUpDown1.Value
    4. Dim y = NumericUpDown2.Value
    5. points.Add(New Point(x,y))
    6. Panel.Invalidate()
    7. End Sub
    8. Sub Panel_OnPaint(sender,e)
    9. if points.count <3 then Return
    10. e.Graphics.DrawLines(points.ToArray())
    11. End Sub
    /nicht getestet