言語

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 プロパティを設定する効果を示し、DisposePen メソッドを呼び出す方法を示します。

この例は、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 メソッドを呼び出すまで、使用しているリソースは解放されません。

適用対象