Pen.Dispose 方法

定義

釋放這個 Pen 所使用的所有資源。

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

實作

範例

下列程式代碼範例示範設定 WidthLineJoin 屬性的效果,並示範如何呼叫 Dispose 的方法 Pen

此範例的設計目的是要與 Windows Forms 搭配使用。 將程式代碼貼到表單中,並在處理表單的事件Paint時呼叫 ShowLineJoin 方法,並傳遞ePaintEventArgs

private:
   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.
    e.Graphics.DrawRectangle(skyBluePen, 
        new Rectangle(40, 40, 150, 200));

    //Dispose of the pen.
    skyBluePen.Dispose();
}
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.
    skyBluePen.Dispose()

End Sub

備註

呼叫 Dispose 可讓這個 Brush 所使用的資源重新配置以供其他用途使用。

Dispose 使用完畢時,請呼叫 PenDispose 方法會將 Pen 保留在無法使用的狀態。 呼叫 Dispose之後,您必須釋放 的所有參考, Pen 讓垃圾收集行程可以回收佔用的 Pen 記憶體。 如需詳細資訊,請參閱 清除 Unmanaged 資源實作 Dispose 方法

注意

在您釋放最後一個 Dispose 參考之前,請務必呼叫 Pen。 否則工作窗格所使用的資源不會釋放,直到記憶體回收行程呼叫 Pen 物件的 Finalize 方法。

適用於