سلام.
در صورتی که کرسر مستقیم از ریسورس فراخوانی و Handle از اون برای تبدیل به کرسر استفاده بشه،ی تصویر سیاه از کرسر برمی گردونه
من یک کلاس ساختم برای فراخوانی Cursor از ریسورس (resx.):
Public Class ResxCursor
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (
ByVal lpFileName As String) As IntPtr
Public Shared Widening Operator CType(ByVal initialData As ResxCursor) As Cursor
Dim ExtractDIR As String = IO.Path.GetFullPath(".")
Dim ExtractPath As String = ExtractDIR + initialData._Cursor.GetHashCode.ToString
IO.File.WriteAllBytes(ExtractPath, initialData._Cursor)
Dim CL As IntPtr = LoadCursorFromFile(ExtractPath)
IO.File.Delete(ExtractPath)
Return New Cursor(CL)
End Operator
Protected Friend _Cursor As Byte()
Sub New(Cursor As Byte())
_Cursor = Cursor
End Sub
End Class
این هم کد تعیین کرسر برای شیء:
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Me.Button1.Cursor = New ResxCursor(My.Resources.MainFormResource.aero_pen)
End Sub
اگر روش بهتری می دونید اعلام کنید.