如果只是想更换鼠标指针,可以使用API. Imports System.ReflectionPublic Class SOR Public KEY As String = "" Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As IntPtr Public Function FDSOR(ByVal pth As String) As System.Windows.Forms.Cursor Try Dim myCursor As New Windows.Forms.Cursor(Windows.Forms.Cursor.Current.Handle) Dim colorCursorHandle As IntPtr = LoadCursorFromFile(pth) myCursor.GetType().InvokeMember("handle", BindingFlags.Public Or _ BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.SetField, _ Nothing, myCursor, New Object() {colorCursorHandle}) ' Return myCursor Catch ex As Exception MsgBox("文件未找到") Return Nothing End Try End Function End Class Form1_Load() Me.Cursor=FDSOR("c:\123.ani")
鼠标指针其实就是以个HBITMAP Graphcis是支持的
Imports System.ReflectionPublic Class SOR
Public KEY As String = ""
Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As IntPtr Public Function FDSOR(ByVal pth As String) As System.Windows.Forms.Cursor
Try
Dim myCursor As New Windows.Forms.Cursor(Windows.Forms.Cursor.Current.Handle)
Dim colorCursorHandle As IntPtr = LoadCursorFromFile(pth)
myCursor.GetType().InvokeMember("handle", BindingFlags.Public Or _
BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.SetField, _
Nothing, myCursor, New Object() {colorCursorHandle}) '
Return myCursor
Catch ex As Exception
MsgBox("文件未找到")
Return Nothing
End Try
End Function
End Class Form1_Load()
Me.Cursor=FDSOR("c:\123.ani")
{
myCtr.Cursor = new Cursor(fileName);//fileName:your Cursor File
}