Hallo zusammen! Ich benutze Visual Basic 2005 Express um Messdaten von einem Microcontroller, der an einer seriellen Schnittstelle des PC's hängt zu empfangen. Soweit in Ordnung. Nun versuche ich die empfangenen Werte graphisch darzustellen. Ich benutze dazu die Panel Windows Form und zeichne dann beim Paint Ereigniss mit Hilfe des Drawline Befehls eine Linie vom vorherigen Wert zum aktuellen Wert. Das alles wird durch einen Timer im eingestellten Intervall durch den Refresh Befehl widerholt. Hier der beschriebene Codeteil: Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Panel1.Refresh() End Sub Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint xa = xe xe = xe + 1 ya = ye ye = wert e.Graphics.DrawLine(Pens.Black, xa, ya, xe, ye) End Sub Mein Problem ist jetzt, dass nach jedem Refresh des Panel1 der Inhalt gelöscht wird und nur die aktuelle Linie gezeichnet wird. Es entsteht also eine "wandernde" Linie anstatt einer Messkurve. Gibt es eine Möglichkeit, das der Inhalt des Panels erhalten bleibt und die neue Linie einfach dazu gezeichnet wird?
kurz gesagt nein, du musst immer alles neuzeichnen. schau dir mal http://zedgraph.org/wiki/index.php?title=Main_Page an. Der ist ganz hübsch und mit nicht also vielen Punkten. bleibt er auch ausreichend schnell.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.