Cursor.Draw Method (Graphics, Rectangle)


Draws the cursor on the specified surface, within the specified bounds.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public void Draw(
	Graphics g,
	Rectangle targetRect


Type: System.Drawing.Graphics

The Graphics surface on which to draw the Cursor.

Type: System.Drawing.Rectangle

The Rectangle that represents the bounds of the Cursor.

The drawing command originates on the graphics surface represented by the g parameter, but a Graphics does not contain information about how to render a given image, so it passes the call to the Cursor. The Draw method crops the image to the given dimensions and allows you to specify a Rectangle within which to draw the Cursor. This method is typically used if you want to draw the cursor on a Graphics surface. For example, you might have a dialog that allows the user to select cursors from a ListBox control, or a group of RadioButton controls.

The following code example draws the specified cursor on the form in its normal size, and in stretched mode, twice its size. This example requires that you have a Form and a Cursor object to pass into the method when it is called.

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.

.NET Framework
Available since 1.1
Return to top