Cursor.Dispose Cursor.Dispose Cursor.Dispose Cursor.Dispose Method

定義

Cursor によって使用されているすべてのリソースを解放します。Releases all resources used by the Cursor.

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

実装

次のコード例では、フォーム、通常のサイズとストレッチ モードの 2 倍のサイズを指定したカーソルを描画します。The following code example draws the specified cursor on the form in its normal size, and in stretched mode, twice its size. この例は、FormCursorが呼び出されると、メソッドに渡す。This example requires a Form and a Cursor to pass into the method when it is called.

void DrawCursorsOnForm( System::Windows::Forms::Cursor^ cursor )
{
   
   // If the form's cursor is not the Hand cursor and the
   // Current cursor is the Default, Draw the specified
   // cursor on the form in normal size and twice normal size.
   if ( this->Cursor != Cursors::Hand && System::Windows::Forms::Cursor::Current == Cursors::Default )
   {
      
      // Draw the cursor stretched.
      Graphics^ graphics = this->CreateGraphics();
      Rectangle rectangle = Rectangle(Point(10,10),System::Drawing::Size( cursor->Size.Width * 2, cursor->Size.Height * 2 ));
      cursor->DrawStretched( graphics, rectangle );
      
      // Draw the cursor in normal size.
      rectangle.Location = Point(rectangle.Width + rectangle.Location.X,rectangle.Height + rectangle.Location.Y);
      rectangle.Size = cursor->Size;
      cursor->Draw( graphics, rectangle );
      
      // Dispose of the cursor.
      delete cursor;
   }
}
private void DrawCursorsOnForm(Cursor cursor)
{
   // If the form's cursor is not the Hand cursor and the 
   // Current cursor is the Default, Draw the specified 
   // cursor on the form in normal size and twice normal size.
   if(this.Cursor != Cursors.Hand & 
     Cursor.Current == Cursors.Default)
   {
      // Draw the cursor stretched.
      Graphics graphics = this.CreateGraphics();
      Rectangle rectangle = new Rectangle(
        new Point(10,10), new Size(cursor.Size.Width * 2, 
        cursor.Size.Height * 2));
      cursor.DrawStretched(graphics, rectangle);
		
      // Draw the cursor in normal size.
      rectangle.Location = new Point(
      rectangle.Width + rectangle.Location.X, 
        rectangle.Height + rectangle.Location.Y);
      rectangle.Size = cursor.Size;
      cursor.Draw(graphics, rectangle);

      // Dispose of the cursor.
      cursor.Dispose();
   }
}
Private Sub DrawCursorsOnForm(cursor As Cursor)
   ' If the form's cursor is not the Hand cursor and the 
   ' Current cursor is the Default, Draw the specified 
   ' cursor on the form in normal size and twice normal size. 
   If (Not Me.Cursor.Equals(Cursors.Hand)) And _
     Cursor.Current.Equals(Cursors.Default) Then

      ' Draw the cursor stretched.
      Dim graphics As Graphics = Me.CreateGraphics()
      Dim rectangle As New Rectangle(New Point(10, 10), _
        New Size(cursor.Size.Width * 2, cursor.Size.Height * 2))
      cursor.DrawStretched(graphics, rectangle)
     
      ' Draw the cursor in normal size.
      rectangle.Location = New Point(rectangle.Width + _
        rectangle.Location.X, rectangle.Height + rectangle.Location.Y)
      rectangle.Size = cursor.Size
      cursor.Draw(graphics, rectangle)

      ' Dispose of the cursor.
      cursor.Dispose()
   End If
End Sub

注釈

Dispose を使い終わったら Cursor を呼び出します。Call Dispose when you are finished using the Cursor. Disposeメソッドによって、Cursor は使用不可の状態になります。The Dispose method leaves the Cursor in an unusable state. Dispose呼び出し後は、Cursorによって占有されていたメモリをガベージ コレクターがクリアできるよう、Cursor へのすべての参照を解放する必要があります。After calling Dispose, you must release all references to the Cursor so the garbage collector can reclaim the memory that the Cursor was occupying. 詳細については、アンマネージ リソースのクリーンアップおよびDispose メソッドの実装を参照してください。For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

注意

Cursorへの最後の参照を解放する前に、必ずDisposeを呼び出してください。Always call Dispose before you release your last reference to the Cursor. それ以外の場合、ガベージ コレクターによって解放されるまで、使用されているリソースは解放されません。Otherwise, the resources it is using will not be freed until the garbage collector frees it.

適用対象