Hallo! Schon wieder ich 
Naja, jetzt hab ich wieder ein Problem...
Ich hab eine Picturebox, in welche ich ein Koordinatensystem gezeichnet hab.
Dieses wird nun mit der Zeit mit einem Graphen gefüllt.
So ungefähr wie im Windows-Taskmanager, bloß von links.
Wenn nun also der Graph eine Position x erreicht hat, welche kurz vor dem rechten Rand liegt, dann soll sich der komplette Inhalt der Picturebox nach links verschieben, und zwar genau in derselben Geschwindigkeit, wie neue Werte zum Graphen hinzukommen. Also kontinuierlich, meinetwegen 5 Pixel pro Sekunde.
Könnte mir da jemand weiterhelfen?
Die Aktualisierung des Graphen hab ich mit nem Timer übernommen, und das Zeichnen des Graphen mit Hilfe der Ergebnisse des letzten Threads:
Vielen Dank im Voraus!

Naja, jetzt hab ich wieder ein Problem...
Ich hab eine Picturebox, in welche ich ein Koordinatensystem gezeichnet hab.
Dieses wird nun mit der Zeit mit einem Graphen gefüllt.
So ungefähr wie im Windows-Taskmanager, bloß von links.
Wenn nun also der Graph eine Position x erreicht hat, welche kurz vor dem rechten Rand liegt, dann soll sich der komplette Inhalt der Picturebox nach links verschieben, und zwar genau in derselben Geschwindigkeit, wie neue Werte zum Graphen hinzukommen. Also kontinuierlich, meinetwegen 5 Pixel pro Sekunde.
Könnte mir da jemand weiterhelfen?
Die Aktualisierung des Graphen hab ich mit nem Timer übernommen, und das Zeichnen des Graphen mit Hilfe der Ergebnisse des letzten Threads:
Code:
Private Sub Timer2_Draw_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2_Draw.Tick
idx3 += 1
Dim Rec As Rectangle = PictureBox2_Draw.ClientRectangle
'y-Position der akt. Temperatur:
Dim y As Integer = CInt(Rec.Height - Temp - 20) '- 2 * (Rec.Height / 11)
Using G As Graphics = Graphics.FromImage(Bmp)
'Akt. Temperatur
Using Sb As SolidBrush = New SolidBrush(Color.IndianRed)
G.FillRectangle(Sb, New Rectangle(20 + idx3, y, 2, 2))
End Using
Dim Stift As New Pen(Color.Black)
Stift.Width = 2
Stift.EndCap = Drawing2D.LineCap.ArrowAnchor
'Koordinatensystem
'Achsen
G.DrawLine(Stift, 20, Rec.Height - 20, 20, 20)
G.DrawLine(Stift, 20, Rec.Height - 20, Rec.Width - 20, Rec.Height - 20)
'Zahlenunterteilung
Dim Breite As Single = 50.0
Dim Hoehe As Single = 50.0
For x1 As Single = 20 + Breite To Rec.Width - 20 Step Breite
G.DrawLine(Pens.Black, x1, Rec.Height - 18, x1, 20)
G.DrawString(CStr(x1 - 20), New Font("Arial", 6.5), Brushes.Black, _
x1 - 10, Rec.Height - 15)
Next
For x2 As Single = Rec.Height - 20 - Hoehe To 20 Step -Hoehe
G.DrawLine(Pens.Black, 18, x2, Rec.Width - 20, x2)
G.DrawString(CStr(Rec.Height - x2 - 20), New Font("Arial", 6.5), Brushes.Black, _
0, x2 - 8)
Next
'Hintergrund-Temp-Info
'G.DrawString(CStr(Math.Round(Temp, 2)) & "°C", New Font("Segoe UI", 50), _
' Brushes.BlueViolet, Rec.Width / 2, Rec.Height / 2)
G.Flush()
End Using
PictureBox2_Draw.Invalidate()
End Sub
Vielen Dank im Voraus!