Region.Dispose メソッド

定義

この Region によって使用されているすべてのリソースを解放します。

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

実装

次のコード例では、Regionコンストラクターと メソッドと Dispose メソッドをExclude示します。

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

private:
   void FillRegionExcludingPath( PaintEventArgs^ e )
   {
      // Create the region using a rectangle.
      System::Drawing::Region^ myRegion = gcnew System::Drawing::Region( Rectangle(20,20,100,100) );

      // Create the GraphicsPath.
      System::Drawing::Drawing2D::GraphicsPath^ path = gcnew System::Drawing::Drawing2D::GraphicsPath;

      // Add a circle to the graphics path.
      path->AddEllipse( 50, 50, 25, 25 );

      // Exclude the circle from the region.
      myRegion->Exclude( path );

      // Retrieve a Graphics object from the form.
      Graphics^ formGraphics = e->Graphics;

      // Fill the region in blue.
      formGraphics->FillRegion( Brushes::Blue, myRegion );

      // Dispose of the path and region objects.
      delete path;
      delete myRegion;
   }
private void FillRegionExcludingPath(PaintEventArgs e)
{

    // Create the region using a rectangle.
    Region myRegion = new Region(new Rectangle(20, 20, 100, 100));

    // Create the GraphicsPath.
    System.Drawing.Drawing2D.GraphicsPath path = 
        new System.Drawing.Drawing2D.GraphicsPath();

    // Add a circle to the graphics path.
    path.AddEllipse(50, 50, 25, 25);

    // Exclude the circle from the region.
    myRegion.Exclude(path);

    // Retrieve a Graphics object from the form.
    Graphics formGraphics = e.Graphics;

    // Fill the region in blue.
    formGraphics.FillRegion(Brushes.Blue, myRegion);

    // Dispose of the path and region objects.
    path.Dispose();
    myRegion.Dispose();
}
Private Sub FillRegionExcludingPath(ByVal e As PaintEventArgs)

    ' Create the region using a rectangle.
    Dim myRegion As New Region(New Rectangle(20, 20, 100, 100))

    ' Create the GraphicsPath.
    Dim path As New System.Drawing.Drawing2D.GraphicsPath

    ' Add a circle to the graphics path.
    path.AddEllipse(50, 50, 25, 25)

    ' Exclude the circle from the region.
    myRegion.Exclude(path)

    ' Retrieve a Graphics object from the form.
    Dim formGraphics As Graphics = e.Graphics

    ' Fill the region in blue.
    formGraphics.FillRegion(Brushes.Blue, myRegion)

    ' Dispose of the path and region objects.
    path.Dispose()
    myRegion.Dispose()

End Sub

注釈

を呼び出 Dispose すと、この Region によって使用されるリソースを他の目的で再割り当てできます。

Dispose を使い終わったら Region を呼び出します。 Disposeメソッドによって、Region は使用不可の状態になります。 Dispose呼び出し後は、Regionによって占有されていたメモリをガベージ コレクターがクリアできるよう、Region へのすべての参照を解放する必要があります。 詳細については、アンマネージ リソースのクリーンアップおよびDispose メソッドの実装を参照してください。

注意

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

適用対象