Cursor.Dispose メソッド
Cursor によって使われているすべてのリソースを解放します。
Public Overridable Sub Dispose() Implements IDisposable.Dispose
[C#]
public virtual void Dispose();
[C++]
public: virtual void Dispose();
[JScript]
public function Dispose();
実装
解説
Cursor を使い終わったら、 Dispose を呼び出します。 Dispose メソッドは、 Cursor を使用できない状態にします。 Dispose を呼び出した後で、 Cursor へのすべての参照を解放し、 Cursor によって占有されていたメモリをガベージ コレクタがクリアできるようにする必要があります。詳細については、 アンマネージ リソースのクリーンアップ 、 Dispose メソッドの実装 の各トピックを参照してください。
メモ Cursor への参照をすべて解放してしまう前に、必ず Dispose を呼び出してください。このメソッドを呼び出さないと、カーソルが使用しているリソースは、ガベージ コレクションによって Cursor オブジェクトの Finalize メソッドが呼び出されるまで解放されません。
使用例
[Visual Basic, C#, C++] フォーム上に、指定されたカーソルをその通常サイズで描画し、次にストレッチ モードで 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
[C#]
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();
}
}
[C++]
private:
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.
cursor->Dispose();
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ