Language

Pen.Dispose メソッド

定義

この Penで使用されているすべてのリソースを解放します。

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

実装

例

次のコード例では、WidthプロパティとLineJoin プロパティを設定する効果を示し、DisposeのPen メソッドを呼び出す方法を示します。

この例は、Windows フォームで使用するように設計されています。 フォームにコードを貼り付け、フォームのShowLineJoin イベントを処理するときにPaint メソッドを呼び出し、eとしてPaintEventArgs渡します。

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の使用が完了したら、Penを呼び出します。 Dispose メソッドは、Penを使用できない状態のままにします。 Disposeを呼び出した後、Penが占有していたメモリをガベージ コレクターが再利用できるように、Penへのすべての参照を解放する必要があります。 詳細については、「 アンマネージ リソースのクリーンアップ と Dispose メソッドの実装」を参照してください。

Note

Disposeへの最後の参照を解放する前に、必ずPenを呼び出してください。 それ以外の場合、ガベージ コレクターが Pen オブジェクトの Finalize メソッドを呼び出すまで、使用しているリソースは解放されません。

適用対象