Pen.Dispose メソッド
アセンブリ: System.Drawing (system.drawing.dll 内)


Dispose を呼び出すと、Brush によって使用されているリソースを他の目的のために再割り当てできます。
Pen を使い終わったら、Dispose を呼び出します。Dispose メソッドは、Pen を使用できない状態にします。Dispose を呼び出した後で、Pen へのすべての参照を解放し、Pen によって占有されていたメモリをガベージ コレクタがクリアできるようにする必要があります。詳細については、アンマネージ リソースのクリーンアップ、Dispose メソッドの実装 の各トピックを参照してください。
![]() |
---|
Pen への参照をすべて解放してしまう前に、必ず Dispose を呼び出してください。このメソッドを呼び出さないと、カーソルが使用しているリソースは、ガベージ コレクションによって Pen オブジェクトの Finalize メソッドが呼び出されるまで解放されません。 |

次のコード例では、Width プロパティおよび LineJoin プロパティを設定することの効果を示すと共に、Pen に対して Dispose メソッドを呼び出す方法を示します。
この例は、Windows フォームでの使用を意図してデザインされています。コードをフォームに貼り付け、フォームの Paint イベントを処理するときに PaintEventArgs の e を渡して ShowLineJoin メソッドを呼び出します。
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
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: 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.get_DeepSkyBlue()); // Set the pen's width. skyBluePen.set_Width(8); // Set the LineJoin property. skyBluePen.set_LineJoin(System.Drawing.Drawing2D.LineJoin.Bevel); // Draw a rectangle. e.get_Graphics().DrawRectangle(skyBluePen, new Rectangle(40, 40, 150, 200)); //Dispose of the pen. skyBluePen.Dispose(); } //ShowLineJoin

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Pen.Dispose メソッドのページへのリンク