下面是完整的例子,可以通过命令行编译即可看到效果。 Test.cs using System; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Reflection; namespace ColorCursor { /// <summary> /// 本例子的作用: /// 在.NET中实现彩色光标,动画光标和自定义光标。 /// </summary> public class Form1 : System.Windows.Forms.Form { [DllImport("user32.dll")] public static extern IntPtr LoadCursorFromFile( string fileName ); [DllImport("user32.dll")] public static extern IntPtr SetCursor( IntPtr cursorHandle ); [DllImport("user32.dll")] public static extern uint DestroyCursor( IntPtr cursorHandle ); [STAThread] static void Main() { Application.Run(new Form1()); } public Form1() { this.Text = "欢迎光临【孟宪会之精彩世界】:http://dotnet.aspx.cc/"; Cursor myCursor = new Cursor(Cursor.Current.Handle); //dinosau2.ani为windows自带的光标: IntPtr colorCursorHandle = LoadCursorFromFile(@"C:/WINNT/Cursors/dinosau2.ani" ); myCursor.GetType().InvokeMember("handle",BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetField,null,myCursor, new object [] { colorCursorHandle } ); this.Cursor = myCursor; } } }
在.NET中实现彩色光标/动画光标和自定义光标[转]
时间: 2024-10-10 14:40:26