次の方法で共有


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呼び出し、 を としてPaintEventArgs渡しますe

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 メソッドの実装を参照してください。

注意

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

適用対象