По какой-то причине класс курсора слишком требователен к тому, что он будет читать.Вы можете создать дескриптор самостоятельно, используя Windows API, а затем передать его классу курсора.
C #:
//(in a class)
public static Cursor ActuallyLoadCursor(String path) {
return new Cursor(LoadCursorFromFile(path))
}
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr LoadCursorFromFile(string fileName);
VB.Net:
'(in a class)'
Public Shared Function ActuallyLoadCursor(path As String) As Cursor
Return New Cursor(LoadCursorFromFile(path))
End Function
<System.Runtime.InteropServices.DllImport("user32.dll")>
Private Shared Function LoadCursorFromFile(fileName As String) As IntPtr
End Function