zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#Form自定义光标的简单实现

c# 实现 简单 自定义 Form 光标
2023-06-13 09:15:16 时间

下面是完整的例子,可以通过命令行编译即可看到效果。

复制代码代码如下:

usingSystem;
usingSystem.Drawing;
usingSystem.Windows.Forms;
usingSystem.Runtime.InteropServices;
usingSystem.Reflection;

namespaceColorCursor
{
 ///<summary>
 ///本例子的作用:在.NET中实现自定义光标。
 ///</summary>
   publicclassForm1:System.Windows.Forms.Form
   {
       [DllImport("user32.dll")]
       publicstaticexternIntPtrLoadCursorFromFile(stringfileName);

       [DllImport("user32.dll")]
       publicstaticexternIntPtrSetCursor(IntPtrcursorHandle);

       [DllImport("user32.dll")]
       publicstaticexternuintDestroyCursor(IntPtrcursorHandle);

 
       [STAThread]
       staticvoidMain()
       {
           Application.Run(newForm1());
       }

       publicForm1()
       {
           CursormyCursor=newCursor(Cursor.Current.Handle);
           IntPtrcolorCursorHandle=LoadCursorFromFile(@"C:WINNTCursorsdinosau2.ani");   
           //dinosau2.ani为windows自带的光标:

           myCursor.GetType().InvokeMember("handle",BindingFlags.Public|
           BindingFlags.NonPublic|BindingFlags.Instance|
           BindingFlags.SetField,null,myCursor,
           newobject[]{colorCursorHandle});
           this.Cursor=myCursor;
       }
   }
}