在.NET中实现彩色光标,动画光标和自定义光标
添加时间: 2007-7-15 3:31:21 作者: c#教程 阅读次数:56 来源: http://www.d9soft.com
下面是完整的例子,可以通过命令行编译即可看到效果。
Test.cs
using System;
using System.Drawing;
using System.<a href="http://dev.21tx.com/os/windows/" target="_blank">Windows</a>.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
namespace ColorCursor
{
/// <summary>
/// 本例子的作用:
/// 在<a href="http://dev.21tx.com/dotnet/" target="_blank">.net</a>中实现彩色光标,动画光标和自定义光标。
/// </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.<a href="http://dev.21tx.com/web/asp/" target="_blank">ASP</a>x.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;
}
}
}
上一篇文章: C#2.0新特性探究之模拟泛型和内置算法 下一篇文章: C#中使用反射的性能分析
相关文章:
相关软件:

