Custom Line Caps : LineCaps « 2D « VB.Net

Custom Line Caps

Custom Line Caps
Imports System.Drawing.Drawing2D
Imports System
Imports System.Drawing.Text
Imports System.Drawing
Imports System.Windows.Forms

Public Class MainClass

   Shared Sub Main()
       Dim form1 As Form = New Form1()
   End Sub ' ValidationError

End Class

Public Class Form1

    Private Sub Form1_Paint(ByVal sender As Object, _
     ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        ' Make a GraphicsPath that draws an X.
        Dim pts() As Point = { _
            New Point(-20, -20), _
            New Point(0, 0), _
            New Point(-20, 20), _
            New Point(0, 0), _
            New Point(20, 20), _
            New Point(0, 0), _
            New Point(20, -20) _

        Dim cap_path As New GraphicsPath

        ' Make the CustomLineCap.
        Dim x_cap As New CustomLineCap(Nothing, cap_path)

        ' Draw some lines with x_cap.
        Dim the_pen As New Pen(Color.Black, 1)
        the_pen.CustomStartCap = x_cap
        the_pen.CustomEndCap = x_cap
        e.Graphics.DrawLine(the_pen, 50, 100, 200, 10)

    End Sub
End Class
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class Form1
    Inherits System.Windows.Forms.Form

    'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
        End If
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Name = "Form1"
        Me.Text = "TransformArrow"

    End Sub

End Class


Related examples in the same category

1.Custom Line Cap ConstructionCustom Line Cap Construction
2.LineCap DemoLineCap Demo
3.LineCaps DemoLineCaps Demo