下面是完整的例子,可以通过命令行编译即可看到效果。Test.csusing 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; } }}
新闻热点
疑难解答