1 out of 1 rated this helpful - Rate this topic

Pen Class

Defines an object used to draw lines and curves. This class cannot be inherited.

System.Object
  System.MarshalByRefObject
    System.Drawing.Pen

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)
public sealed class Pen : MarshalByRefObject, ICloneable, 
	IDisposable

The Pen type exposes the following members.

  Name Description
Public method Pen(Brush) Initializes a new instance of the Pen class with the specified Brush.
Public method Pen(Color) Initializes a new instance of the Pen class with the specified color.
Public method Pen(Brush, Single) Initializes a new instance of the Pen class with the specified Brush and Width.
Public method Pen(Color, Single) Initializes a new instance of the Pen class with the specified Color and Width properties.
Top
  Name Description
Public property Alignment Gets or sets the alignment for this Pen.
Public property Brush Gets or sets the Brush that determines attributes of this Pen.
Public property Color Gets or sets the color of this Pen.
Public property CompoundArray Gets or sets an array of values that specifies a compound pen. A compound pen draws a compound line made up of parallel lines and spaces.
Public property CustomEndCap Gets or sets a custom cap to use at the end of lines drawn with this Pen.
Public property CustomStartCap Gets or sets a custom cap to use at the beginning of lines drawn with this Pen.
Public property DashCap Gets or sets the cap style used at the end of the dashes that make up dashed lines drawn with this Pen.
Public property DashOffset Gets or sets the distance from the start of a line to the beginning of a dash pattern.
Public property DashPattern Gets or sets an array of custom dashes and spaces.
Public property DashStyle Gets or sets the style used for dashed lines drawn with this Pen.
Public property EndCap Gets or sets the cap style used at the end of lines drawn with this Pen.
Public property LineJoin Gets or sets the join style for the ends of two consecutive lines drawn with this Pen.
Public property MiterLimit Gets or sets the limit of the thickness of the join on a mitered corner.
Public property PenType Gets the style of lines drawn with this Pen.
Public property StartCap Gets or sets the cap style used at the beginning of lines drawn with this Pen.
Public property Transform Gets or sets a copy of the geometric transformation for this Pen.
Public property Width Gets or sets the width of this Pen, in units of the Graphics object used for drawing.
Top
  Name Description
Public method Clone Creates an exact copy of this Pen.
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public method Dispose Releases all resources used by this Pen.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Public method MultiplyTransform(Matrix) Multiplies the transformation matrix for this Pen by the specified Matrix.
Public method MultiplyTransform(Matrix, MatrixOrder) Multiplies the transformation matrix for this Pen by the specified Matrix in the specified order.
Public method ResetTransform Resets the geometric transformation matrix for this Pen to identity.
Public method RotateTransform(Single) Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation.
Public method RotateTransform(Single, MatrixOrder) Rotates the local geometric transformation by the specified angle in the specified order.
Public method ScaleTransform(Single, Single) Scales the local geometric transformation by the specified factors. This method prepends the scaling matrix to the transformation.
Public method ScaleTransform(Single, Single, MatrixOrder) Scales the local geometric transformation by the specified factors in the specified order.
Public method SetLineCap Sets the values that determine the style of cap used to end lines drawn by this Pen.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method TranslateTransform(Single, Single) Translates the local geometric transformation by the specified dimensions. This method prepends the translation to the transformation.
Public method TranslateTransform(Single, Single, MatrixOrder) Translates the local geometric transformation by the specified dimensions in the specified order.
Top

A Pen draws a line of specified width and style. Use the DashStyle property to draw several varieties of dashed lines. The line drawn by a Pen can be filled in a variety of fill styles, including solid colors and textures. The fill style depends on brush or texture that is used as the fill object.

The following code example demonstrates constructing a Pen with a Brush and the effects of setting the LineJoin property on a Pen.

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


private void ShowLineJoin(PaintEventArgs e)
{

    // Create a new pen.
    Pen skyBluePen = new Pen(Brushes.DeepSkyBlue);

    // Set the pen's width.
    skyBluePen.Width = 8.0F;

    // Set the LineJoin property.
    skyBluePen.LineJoin = System.Drawing.Drawing2D.LineJoin.Bevel;

    // Draw a rectangle.
    e.Graphics.DrawRectangle(skyBluePen, 
        new Rectangle(40, 40, 150, 200));

    //Dispose of the pen.
    skyBluePen.Dispose();

}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ