DashPattern Property

Pen.DashPattern Property

Gets or sets an array of custom dashes and spaces.

Namespace: System.Drawing
Assembly: System.Drawing (in system.drawing.dll)

public float[] DashPattern { get; set; }
/** @property */
public float[] get_DashPattern ()

/** @property */
public void set_DashPattern (float[] value)

public function get DashPattern () : float[]

public function set DashPattern (value : float[])

Not applicable.

Property Value

An array of real numbers that specifies the lengths of alternating dashes and spaces in dashed lines.

Exception typeCondition

ArgumentException

The DashPattern property is set on an immutable Pen, such as those returned by the Pens class.

Assigning a value other than a null reference (Nothing in Visual Basic) to this property will set the DashStyle property for this Pen to Custom.

The elements in the dashArray array set the length of each dash and space in the dash pattern. The first element sets the length of a dash, the second element sets the length of a space, the third element sets the length of a dash, and so on.

The length of each dash and space in the dash pattern is the product of the element value in the array and the width of the Pen.

The following code example demonstrates the effects of setting the DashCap, DashPattern, and SmoothingMode properties.

This example is designed to be used with Windows Forms. Paste the code into a form and call the ShowPensAndSmoothingMode method when handling the form's Paint event, passing e as PaintEventArgs.

private void ShowPensAndSmoothingMode(PaintEventArgs e)
{

    // Set the SmoothingMode property to smooth the line.
    e.Graphics.SmoothingMode = 
        System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

    // Create a new Pen object.
    Pen greenPen = new Pen(Color.Green);

    // Set the width to 6.
    greenPen.Width = 6.0F;

    // Set the DashCap to round.
    greenPen.DashCap = System.Drawing.Drawing2D.DashCap.Round;

    // Create a custom dash pattern.
    greenPen.DashPattern = new float[]{4.0F, 2.0F, 1.0F, 3.0F};

    // Draw a line.
    e.Graphics.DrawLine(greenPen, 20.0F, 20.0F, 100.0F, 240.0F);

    // Change the SmoothingMode to none.
    e.Graphics.SmoothingMode = 
        System.Drawing.Drawing2D.SmoothingMode.None;

    // Draw another line.
    e.Graphics.DrawLine(greenPen, 100.0F, 240.0F, 160.0F, 20.0F);

    // Dispose of the custom pen.
    greenPen.Dispose();
}

private void ShowPensAndSmoothingMode(PaintEventArgs e)
{
    // Set the SmoothingMode property to smooth the line.
    e.get_Graphics().set_SmoothingMode(
        System.Drawing.Drawing2D.SmoothingMode.AntiAlias);

    // Create a new Pen object.
    Pen greenPen = new Pen(Color.get_Green());

    // Set the width to 6.
    greenPen.set_Width(6);

    // Set the DashCap to round.
    greenPen.set_DashCap(System.Drawing.Drawing2D.DashCap.Round);

    // Create a custom dash pattern.
    greenPen.set_DashPattern(new float[] { 4, 2, 1, 3 });

    // Draw a line.
    e.get_Graphics().DrawLine(greenPen, 20, 20, 100, 240);

    // Change the SmoothingMode to none.
    e.get_Graphics().set_SmoothingMode(
        System.Drawing.Drawing2D.SmoothingMode.None);

    // Draw another line.
    e.get_Graphics().DrawLine(greenPen, 100, 240, 160, 20);

    // Dispose of the custom pen.
    greenPen.Dispose();
} //ShowPensAndSmoothingMode

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2016 Microsoft