现在的位置: 首页 > 综合 > 正文

在.NET中实现彩色光标和自定义光标

2012年12月05日 ⁄ 综合 ⁄ 共 1178字 ⁄ 字号 评论关闭

引自:http://www.pconline.com.cn/pcedu/empolder/net/0410/477929.html

本例子在.NET中实现彩色光标,动画光标和自定义光标,下面是完整的例子,可以通过命令行编译即可看到效果。

[被屏蔽广告]

  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;

  }

  }

  }

抱歉!评论已关闭.