Pen.Dispose Pen.Dispose Pen.Dispose Pen.Dispose Method


Releases all resources used by this Pen.

 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()



The following code example demonstrates the effects of setting the Width and LineJoin properties, and shows how to call the Dispose method for 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.

   void ShowLineJoin( PaintEventArgs^ e )
      // Create a new pen.
      Pen^ skyBluePen = gcnew 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, Rectangle(40,40,150,200) );

      //Dispose of the pen.
      delete skyBluePen;
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.
        new Rectangle(40, 40, 150, 200));

    //Dispose of the pen.

Private Sub ShowLineJoin(ByVal e As PaintEventArgs)

    ' Create a new pen.
    Dim skyBluePen As New Pen(Brushes.DeepSkyBlue)

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

    ' Set the LineJoin property.
    skyBluePen.LineJoin = Drawing2D.LineJoin.Bevel

    ' Draw a rectangle.
    e.Graphics.DrawRectangle(skyBluePen, _
        New Rectangle(40, 40, 150, 200))

    'Dispose of the pen.

End Sub


Calling Dispose allows the resources used by this Brush to be reallocated for other purposes.

Call Dispose when you are finished using the Pen. The Dispose method leaves the Pen in an unusable state. After calling Dispose, you must release all references to the Pen so the garbage collector can reclaim the memory that the Pen was occupying. For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.


Always call Dispose before you release your last reference to the Pen. Otherwise, the resources it is using will not be freed until the garbage collector calls the Pen object's Finalize method.

Applies to