本文所述实例主要完成dotNET中实现彩色光标、动画光标及自定义光标的功能。以下是完整的程序实例,可以通过命令行编译可看到运行效果。
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://www.jb51.net/"; 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; } } }
相信本文所述实例对大家的C#程序设计能够起到一定的帮助作用。