Control.Cursor Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the cursor that is displayed when the mouse pointer is over the control.

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

public virtual Cursor Cursor { get; set; }

Property Value

Type: System.Windows.Forms.Cursor

A Cursor that represents the cursor to display when the mouse pointer is over the control.

Assign a Cursor to the Cursor property of the control to change the cursor displayed when the mouse pointer is over the control. To temporarily change the mouse cursor for all controls on your application set the Cursor.Current property. Typically you would set the Cursor.Current property to a wait cursor when populating a ComboBox or saving or loading a file.

The Cursor property is an ambient property. An ambient property is a control property that, if not set, is retrieved from the parent control. For example, a Button will have the same BackColor as its parent Form by default. For more information about ambient properties, see the AmbientProperties class or the Control class overview.

Notes to Inheritors:

When overriding the Cursor property in a derived class, use the base class's Cursor property to extend the base implementation. Otherwise, you must provide all the implementation. You are not required to override both the get and setmethods of the Cursor property; you can override only one if needed.

The following code example fills a ComboBox with the user's available logical drives. The example also sets the combo box's Cursor property so the Cursors.Hand cursor is displayed when the mouse pointer is over the drop-down button. This code requires that you have a Form with a ComboBox on it.

private void Form1_Load(object sender, EventArgs e)
   // Display the hand cursor when the mouse pointer
   // is over the combo box drop-down button. 
   comboBox1.Cursor = Cursors.Hand;

   // Fill the combo box with all the logical 
   // drives available to the user.
      foreach(string logicalDrive in Environment.GetLogicalDrives() )
   catch(Exception ex)


for safe subwindows to set this property value. Associated enumeration: UIPermissionWindow.SafeSubWindows

.NET Framework
Available since 1.1
Return to top