C#Form自定义光标的简单实现
下面是完整的例子,可以通过命令行编译即可看到效果。
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;
}
}
}
相关文章
- Excel与XML相互转换 – C# 简单实现方案[通俗易懂]
- 在C#中ParameterizedThreadStart和ThreadStart区别
- C#/.NET/.NET Core Dapper 批量删除、新增、修改说明
- C#对象转JSON字符串和JSON字符串转对象详解编程语言
- C#/.NET JIT和IL(MSIL或CIL)实现跨平台
- C与Oracle数据库备份安全可靠解决方案(c# oracle 备份)
- js模拟实现类似c#下的hashtable的简单功能代码
- C#操作符之二算数操作符
- C#设计模式之外观模式介绍
- c#网址压缩简单实现短网址
- C#实现路由器断开连接,更改公网ip的实例代码
- 在C#中创建和读取XML文件的实现方法
- C#实现简单的JSON序列化功能代码实例
- 可替代log4j日志的c#简单日志类队列实现类代码分享
- c#判断指定文件是否存在的简单实现
- C#简单的通用基础字典实现方法
- C#播放铃声最简单实现方法
- C#实现根据数字序号输出星期几的简单实例
- C#生成条形码图片的简单方法
- C#实现线程池的简单示例
- C#实现装箱与拆箱操作简单实例
- C#实现将千分位字符串转换成数字的方法
- C#实现窗体与子线程的交互的方法
- C#实现的Socket服务器端、客户端代码分享
- C#实现在两个数字之间生成随机数的方法
- C#实现网页截图功能
- C#实现获取枚举中元素个数的方法