.NET中实现彩色光标、动画光标及自定义光标的方法

本文所述实例主要完成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 = "欢迎光临【鸟哥教程(niaoge.com)】:/";
 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#程序设计能够起到一定的帮助作用。