All Mouse Cursors

using System;
using System.Drawing;
using System.Windows.Forms;

class MouseCursors: Form
{
Cursor[] acursor =
{
Cursors.AppStarting, Cursors.Arrow, Cursors.Cross,
Cursors.Default, Cursors.Hand, Cursors.Help,
Cursors.HSplit, Cursors.IBeam, Cursors.No,
Cursors.NoMove2D, Cursors.NoMoveHoriz, Cursors.NoMoveVert,
Cursors.PanEast, Cursors.PanNE, Cursors.PanNorth,
Cursors.PanNW, Cursors.PanSE, Cursors.PanSouth,
Cursors.PanSW, Cursors.PanWest, Cursors.SizeAll,
Cursors.SizeNESW, Cursors.SizeNS, Cursors.SizeNWSE,
Cursors.SizeWE, Cursors.UpArrow, Cursors.VSplit,
Cursors.WaitCursor
};
string[] astrCursor =
{
“AppStarting”, “Arrow”, “Cross”,
“Default”, “Hand”, “Help”,
“HSplit”, “IBeam”, “No”,
“NoMove2D”, “NoMoveHoriz”, “NoMoveVert”,
“PanEast”, “PanNE”, “PanNorth”,
“PanNW”, “PanSE”, “PanSouth”,
“PanSW”, “PanWest”, “SizeAll”,
“SizeNESW”, “SizeNS”, “SizeNWSE”,
“SizeWE”, “UpArrow”, “VSplit”,
“WaitCursor”
};

public static void Main()
{
Application.Run(new MouseCursors());
}
public MouseCursors()
{
Text = “Mouse Cursors”;
ResizeRedraw = true;
}
protected override void OnMouseMove(MouseEventArgs mea)
{
int x = Math.Max(0, Math.Min(3, mea.X / (ClientSize.Width / 4)));
int y = Math.Max(0, Math.Min(6, mea.Y / (ClientSize.Height / 7)));

Cursor.Current = acursor[4 * y + x];
}
protected override void OnPaint(PaintEventArgs pea)
{
Graphics grfx = pea.Graphics;
Brush brush = new SolidBrush(ForeColor);
Pen pen = new Pen(ForeColor);
StringFormat strfmt = new StringFormat();

strfmt.LineAlignment = strfmt.Alignment = StringAlignment.Center;

for (int y = 0; y < 7; y++){ for (int x = 0; x < 4; x++) { Rectangle rect = Rectangle.FromLTRB( x * ClientSize.Width / 4, y * ClientSize.Height / 7, (x + 1) * ClientSize.Width / 4, (y + 1) * ClientSize.Height / 7); grfx.DrawRectangle(pen, rect); grfx.DrawString(astrCursor[4 * y + x], Font, brush, rect, strfmt); } } } } [/csharp]

Set Form window cursor to wait cursor


   

  using System;
  using System.Drawing;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  using System.Data;

  public class MainForm : System.Windows.Forms.Form
  {
    private System.ComponentModel.Container components;

    public MainForm()
    {
      InitializeComponent();
      BackColor = Color.Tomato;
      Opacity = 0.5d;
      Text = "www.kutayzorlu.com/java2s/com";
      Cursor = Cursors.WaitCursor;
      this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
    }

    protected override void Dispose( bool disposing )
    {
      if( disposing )
      {
        if (components != null) 
        {
          components.Dispose();
        }
      }
      base.Dispose( disposing );
    }

    private void InitializeComponent()
    {
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 273);
      this.Text = "Form1";
    }
    [STAThread]
    static void Main() 
    {
      Application.Run(new MainForm());
    }

    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
      Graphics g = e.Graphics;
      g.DrawString("www.kutayzorlu.com/java2s/com", 
        new Font("Times New Roman", 20), 
        new SolidBrush(Color.Black), 40, 10);
    }
  }



           
          


Load animated cursor

   


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

public class Form1 : Form
{

  public Form1() {
        InitializeComponent();
    try
    {
      this.Cursor = AdvancedCursors.Create(Path.Combine(Application.StartupPath, "blob.ani"));
    }
    catch (Exception err)
    {
      MessageBox.Show(err.Message);
    }
  }

  private void InitializeComponent()
  {
    this.SuspendLayout();

    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(292, 266);
    this.Text = "Form1";
    this.ResumeLayout(false);
  }


  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }

}

public class AdvancedCursors
{

  [DllImport("User32.dll")]
  private static extern IntPtr LoadCursorFromFile(String str);

  public static Cursor Create(string filename)
  {
    IntPtr hCursor = LoadCursorFromFile(filename);
    
    if (!IntPtr.Zero.Equals(hCursor))
    {
      return new Cursor(hCursor);
    }
    else
    {
      throw new ApplicationException("Could not create cursor from file " + filename);
    }
  }
}

           
          


Set form window cursor

   


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

public class Form1 : Form
{

  public Form1() {
        InitializeComponent();
    try
    {
      this.Cursor = AdvancedCursors.Create(Path.Combine(Application.StartupPath, "blob.ani"));
    }
    catch (Exception err)
    {
      MessageBox.Show(err.Message);
    }
  }

  private void InitializeComponent()
  {
    this.SuspendLayout();

    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(292, 266);
    this.Text = "Form1";
    this.ResumeLayout(false);
  }


  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }

}

public class AdvancedCursors
{

  [DllImport("User32.dll")]
  private static extern IntPtr LoadCursorFromFile(String str);

  public static Cursor Create(string filename)
  {
    IntPtr hCursor = LoadCursorFromFile(filename);
    
    if (!IntPtr.Zero.Equals(hCursor))
    {
      return new Cursor(hCursor);
    }
    else
    {
      throw new ApplicationException("Could not create cursor from file " + filename);
    }
  }
}

           
          


Load cursor file(*.cur)

   
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


public class Form1 : Form {
    public Form1() {
        this.SuspendLayout();
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(292, 268);
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
        this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
        this.ResumeLayout(false);
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e) {
        Point p = new Point(e.X, e.Y);
        Rectangle r;

        if (new Rectangle(0, 0, 100, 100).Contains(p))
            this.Cursor = new Cursor("MyCursor.cur");
        else if (new Rectangle(100, 0, 100, 100).Contains(p))
            this.Cursor = Cursors.Hand;
        else if (new Rectangle(0, 100, 100, 100).Contains(p))
            this.Cursor = Cursors.VSplit;
        else if (new Rectangle(100, 100, 100, 100).Contains(p))
            this.Cursor = Cursors.UpArrow;
        else
            this.Cursor = Cursors.Default;
    }

    private void Form1_Paint(object sender, PaintEventArgs e) {
        Graphics g = e.Graphics;
        g.FillRectangle(Brushes.Blue, 0, 0, 100, 100);
        g.FillRectangle(Brushes.Red, 100, 0, 100, 100);
        g.FillRectangle(Brushes.Yellow, 0, 100, 100, 100);
        g.FillRectangle(Brushes.Green, 100, 100, 100, 100);
    }
    static void Main() {
        Application.EnableVisualStyles();
        Application.Run(new Form1());
    }
}

    


Control style: resize and redraw


   


  using System;
  using System.Drawing;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  using System.Data;

  public class Form1 : System.Windows.Forms.Form
  {
    private System.Windows.Forms.Button btnGetStyles;
    private System.ComponentModel.Container components;

    public Form1()
    {
      InitializeComponent();
      SetStyle(ControlStyles.ResizeRedraw, true);
    }

    protected override void Dispose( bool disposing )
    {
      if( disposing )
      {
        if (components != null) 
        {
          components.Dispose();
        }
      }
      base.Dispose( disposing );
    }

    private void InitializeComponent()
    {
      this.btnGetStyles = new System.Windows.Forms.Button();
      this.btnGetStyles.Location = new System.Drawing.Point(24, 64);
      this.btnGetStyles.Size = new System.Drawing.Size(160, 23);
      this.btnGetStyles.TabIndex = 0;
      this.btnGetStyles.Text = "Get Form Styles";
      this.btnGetStyles.Click += new System.EventHandler(this.btnGetStyles_Click);
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(211, 104);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {this.btnGetStyles});
      this.Text = "A Form with Style!";

    }
    [STAThread]
    static void Main() 
    {
      Application.Run(new Form1());
    }

    private void btnGetStyles_Click(object sender, System.EventArgs e)
    {
      MessageBox.Show(GetStyle(ControlStyles.ResizeRedraw).ToString(), 
        "Do you have ResizeRedraw?");
    }

  }