首页 > 学院 > 开发设计 > 正文

.NET中实现彩色光标,动画和自定义光标

2019-11-18 12:00:39
字体:
来源:转载
供稿:网友

  下面是完整的例子,可以通过命令行编译即可看到效果。
  
  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;
   }
   }
  }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表