Hallo alle zusammen,
ich habe folgendes Problem:
und zwar möchte ich in eine bestehende PictureBox (hier picFloor) das bereits ein Bild enthält eine Linie zeichnen und diese dann mit der Zeit versezen. Das Problem hierbei ist dass es zwischendurch flimmert.
hat irgendwer Ideen wie man das Flimmern vermeiden könnte?
ich habe folgendes Problem:
und zwar möchte ich in eine bestehende PictureBox (hier picFloor) das bereits ein Bild enthält eine Linie zeichnen und diese dann mit der Zeit versezen. Das Problem hierbei ist dass es zwischendurch flimmert.
VB.NET-Quellcode
- Public Sub New()
- MyBase.New()
- ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
- InitializeComponent()
- Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
- Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
- Me.SetStyle(ControlStyles.ResizeRedraw, True)
- End Sub
- Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
- MyBase.OnPaint(e)
- paintZeroPositionCross()
- End Sub
- Dim i As Integer = 0
- Private Sub paintZeroPositionCross()
- Dim g As Graphics
- g = Graphics.FromHwnd(picFloor.Handle)
- If picFloor.Image IsNot Nothing Then
- Dim myPen As New Pen(Color.Red, 3)
- Timer1.Enabled = True
- Dim imgHeight As Integer = picFloor.Height
- Dim imgWidth As Integer = picFloor.Width
- picFloor.Refresh()
- g.DrawLine(myPen, CInt(imgWidth / 2 + 100), CInt(imgHeight / 2 + i), CInt(imgWidth / 2 - 100), CInt(imgHeight / 2))
- i = i + 1
- End If
- End Sub
- Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Me.Invalidate()
- End Sub
hat irgendwer Ideen wie man das Flimmern vermeiden könnte?