Cursor.Dispose メソッド
アセンブリ: System.Messaging (system.messaging.dll 内)



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


Cursor.Dispose メソッド
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


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

フォーム上に、指定されたカーソルをその通常サイズで描画し、次にストレッチ モードで 2 倍のサイズに描画するコードを次に示します。この例では、Form が存在し、メソッドが呼び出されたときに渡す Cursor が存在する必要があります。
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
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(); } }
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.get_Cursor().Equals(Cursors.get_Hand())) & get_Cursor().get_Current().Equals(Cursors.get_Default())) { // Draw the cursor stretched. Graphics graphics = this.CreateGraphics(); Rectangle rectangle = new Rectangle(new Point(10, 10), new Size(cursor.get_Size().get_Width() * 2, cursor.get_Size().get_Height() * 2)); cursor.DrawStretched(graphics, rectangle); // Draw the cursor in normal size. rectangle.set_Location(new Point(rectangle.get_Width() + rectangle.get_Location().get_X(), rectangle.get_Height() + rectangle.get_Location().get_Y())); rectangle.set_Size(cursor.get_Size()); cursor.Draw(graphics, rectangle); // Dispose of the cursor. cursor.Dispose(); } } //DrawCursorsOnForm

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Cursor.Disposeのページへのリンク