カラーのcurファイルから直接Cursorオブジェクトを作成しようとすると白黒になってしまう。 そこで、icoファイルから一度Iconオブジェクトを作成し、アイコンハンドルをもってCursorオブジェクトを作成する。

この方法では、カラー情報はもとより、半透明のアイコンでも適切に表示される。 ただし、アイコンから作成するため、ホットスポットを設定することができない(アイコンの中心点に指定される。)

Icon   ico;
Cursor cur;

private void Form1_Load( System.Object sender, System.EventArgs e )
{

    // Iconオブジェクトを作成
    ico = new Icon( "E:\\Cursor.ico" );

    // IconオブジェクトのハンドルからCursorオブジェクトを作成
    cur = new Cursor( ico.Handle );

    this.Cursor = cur;

}
Dim ico As Icon
Dim cur As Cursor

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' Iconオブジェクトを作成
    ico = New Icon("E:\Cursor.ico")

    ' IconオブジェクトのハンドルからCursorオブジェクトを作成
    cur = New Cursor(ico.Handle)

    Me.Cursor = cur

End Sub