'Freihandkurve erstellen
'Importierung der Klasse:
System.Drawing.Drawing2D
Dim Pt As New Point
Dim Grp As New GraphicsPath
'Neue Freihandkurve erstellen
Private Sub Freihandkurve_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
If Me.MouseButtons = MouseButtons.Left Then 'Neue Grafik zeichnen
Me.Cursor = Cursors.Cross 'Cursor für Zeichenvorgang wechseln
Pt = New Point(e.X, e.Y)
Grp.StartFigure()
End If
If Me.MouseButtons = MouseButtons.Right Then 'Komplette Grafik löschen
If MsgBox("Möchten Sie die Grafik wirklich löschen", MsgBoxStyle.YesNo, "Grafik löschen") = MsgBoxResult.Yes Then
Grp.Reset() 'Inhalt aus GraphicsPath entfernen
Me.Refresh()
End If
End If
End Sub
Private Sub Freihandkurve_MouseUp(ByVal sender As Object, ByVal e
As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
Me.Cursor = Cursors.Default 'DefaultCursor anzeigen
End Sub
'Grafik beim bewegen der Maus erstellen
Private Sub Freihandkurve_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Dim Grfx As Graphics
Dim PtF As New Point(e.X, e.Y)
If Me.MouseButtons = MouseButtons.Left Then
Grfx = Me.CreateGraphics
Grfx.DrawLine(New Pen(Color.Green), Pt, PtF)
Grfx.Dispose()
Grp.AddLine(Pt, PtF)
Pt = PtF
End If
End Sub
'Beim löschen des Fensterinhaltes, Grafik neu zeichnen
Private Sub Freihandkurve_Paint(ByVal sender As Object, ByVal e
As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
e.Graphics.DrawPath(New Pen(Color.Green), Grp)
End Sub