Hallö'chen und guten Morgen Leute,
ich hab ein kleines Problem , stehe wahrscheinlich nur auf dem Schlauch, aber ich komm grad nicht drauf.
Ich habe eine Form mit Picturebox und Timer. Der Timer ruft das Paintevent der Picturebox per auf und soll eine Linie mit Nullpunkt nach links fortlaufend erweitern.
Dies ist für ein dynamisches Flankendiagramm ,welches mir zur Laufzeit hin die Position von Schalter X (0 oder 1) anzeigt. Habe das ganze erstmal als Dummy-Form zum Üben gemacht.
Jedoch habe ich schon beim Zeichnen nach links ein Problem. Egal durch welche Additions- oder Subtraktionskombination der X-Achse bewegt sich nur eine gleichbleibend große Linie nach rechts.
Hier der Quellcode. Ich hoffe ihr könnt mir da mal eben den Schubser in die richtige Richtung geben.
[expander]
ich hab ein kleines Problem , stehe wahrscheinlich nur auf dem Schlauch, aber ich komm grad nicht drauf.
Ich habe eine Form mit Picturebox und Timer. Der Timer ruft das Paintevent der Picturebox per auf und soll eine Linie mit Nullpunkt nach links fortlaufend erweitern.
Dies ist für ein dynamisches Flankendiagramm ,welches mir zur Laufzeit hin die Position von Schalter X (0 oder 1) anzeigt. Habe das ganze erstmal als Dummy-Form zum Üben gemacht.
Jedoch habe ich schon beim Zeichnen nach links ein Problem. Egal durch welche Additions- oder Subtraktionskombination der X-Achse bewegt sich nur eine gleichbleibend große Linie nach rechts.
Hier der Quellcode. Ich hoffe ihr könnt mir da mal eben den Schubser in die richtige Richtung geben.
[expander]
VB.NET-Quellcode
- Option Strict On
- Public Class Form1
- Dim A As Boolean
- Dim X As Integer = 150
- Dim Nullpunkt As Integer = 150
- Dim Y As Integer = 50
- Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
- Dim Points As New List(Of Point)
- Points.Add(New Point(Nullpunkt, Y))
- Points.Add(New Point(X - 10, Y))
- Dim PointArray() As Point = Points.ToArray
- 'Zeichnen
- Draw(e.Graphics, PointArray)
- End Sub
- Sub Draw(ByVal Gra As Graphics, ByVal points() As Point)
- Dim Pen As New Pen(Color.Black, 5)
- With Gra
- .Clear(Color.White)
- .DrawLines(Pen, points)
- End With
- End Sub
- Private Sub cmd_var_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_var.Click
- If A = False Then
- tb_var.Text = "A = True"
- A = True
- Else
- tb_var.Text = "A = False"
- A = False
- End If
- End Sub
- Private Sub timer_dia_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer_dia.Tick
- X = X + 10
- 'Y = +10
- PictureBox1.Invalidate()
- End Sub
- Private Sub cmd_draw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_draw.Click
- If timer_dia.Enabled = False Then
- timer_dia.Enabled = True
- Else
- timer_dia.Enabled = False
- End If
- End Sub
- End Class
Danke im Voraus.[/expander]
EDIT : Schusselfehler der Oberliga. Kann gelöscht werden. Habe den Fehler gefunden.