C# Form实现自定义光标

WinForm代码如下:1usingSystem;2usingSystem.Reflection;3usingSystem.Runtime.InteropServices;4us

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

WinForm代码如下:

 1 using System;
 2 using System.Reflection;
 3 using System.Runtime.InteropServices;
 4 using System.Windows.Forms;
 5 
 6 namespace KeleyiColorCursor
 7 {
 8 public partial class CursorForm : Form
 9 {
10 [DllImport("user32.dll")]
11 public static extern IntPtr LoadCursorFromFile(string fileName);
12 
13 [DllImport("user32.dll")]
14 public static extern IntPtr SetCursor(IntPtr cursorHandle);
15 
16 [DllImport("user32.dll")]
17 public static extern uint DestroyCursor(IntPtr cursorHandle);
18 
19 public CursorForm()
20 {
21 InitializeComponent();
22 Cursor myCursor = new Cursor(Cursor.Current.Handle);
23 string m_cursorFile = @"D:\keleyi\pen_r.cur";
24 
25 //pen_r.cur文件下载地址:
26 //http://down.keleyi.com/files/cursors/pen_r.cur
27 
28 
29 //或者设为动态光标
30 // m_cursorFile = @"D:\keleyi\dinosau2.ani";
31 //下载地址: http://down.keleyi.com/files/cursors/dinosau2.ani
32 
33 IntPtr colorCursorHandle = LoadCursorFromFile(m_cursorFile);
34 
35 
36 myCursor.GetType().InvokeMember("handle", BindingFlags.Public |
37 BindingFlags.NonPublic | BindingFlags.Instance |
38 BindingFlags.SetField, null, myCursor,
39 new object[] { colorCursorHandle });
40 this.Cursor = myCursor;
41 }
42 }
43 }

 

运行后,如果把光标移入窗体,光标消失了,那是因为没有下载光标文件到特定文件夹。
光标文件下载:http://down.keleyi.com/files/cursors/dinosau2.ani
http://down.keleyi.com/files/cursors/pen_r.cur

转载自:http://keleyi.com/a/bjad/vvks7sw7.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120735.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信多开(免费版)_wechat国际版

    微信多开(免费版)_wechat国际版惊喜!!!放在前面在我发布文章这一天,下午打开wechaty博客的时候发现重磅:绕过登录限制,wechaty免费版web协议重新荣光这篇文章,可以完美实现无需token即可实现微信登录效果及代

    2022年8月6日
    9
  • window 下 win10 jdk8安装与环境变量的配置(超级详细)[通俗易懂]

    window 下 win10 jdk8安装与环境变量的配置(超级详细)[通俗易懂]1、jdk的下载1.1官网下载地址https://www.oracle.com/java/technologies/javase-downloads.html这里以为下载需要登录所以我准备了百度网盘1.2百度网盘下载链接:https://pan.baidu.com/s/1uBm0XqBtbdafWgn_YUSWLA提取码:2mqh2、新建文件夹2.1、新建Java文件夹我这里选择的是安装的文件夹我在H盘里面新建了个java文件夹,这里盘符可以改的CDE啥都无所谓

    2022年6月18日
    54
  • java中string转object_java中Object转String

    java中string转object_java中Object转StringObject转为String的几种形式在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。方法1:采用Object.toString()方法请看下面的例子:Objectobje…

    2022年6月11日
    412
  • 网络虚拟化和SDN

    1、什么是虚拟化2、服务器虚拟化3、网络虚拟化4、云计算跟网络虚拟化的结合5、SDN在网络虚拟化和云计算中的作用一、什么是虚拟化虚拟化技术,就是将一个物理实体,通过一些复用的技术,克隆出多个虚拟的等价物,这些虚拟的等价物依附于物理的实体之上,共享物理实体的各种资源。类似于进程与线程的关系,在一个进程内可以fork出多个线程,所有线程共享进程的内存资源。提到虚拟化技术,现在通常是指服…

    2022年4月7日
    85
  • 使用pycharm安装第三方库_pycharm找不到第三方库

    使用pycharm安装第三方库_pycharm找不到第三方库Pycharm是我比较喜欢的一款编辑器。  学习python有半年左右,安装第三方库都是通过 pip install 或者 easy_install。每次都要打开命令行感觉太麻烦。还好Pycharm提供了安装第三方库和安装插件的功能。   首先打开Pycharm,点击左上角 >>File >>Setting。    打开之后点击>>Project:

    2022年8月29日
    2
  • [日常训练]AekdyCoin的跳棋「建议收藏」

    [日常训练]AekdyCoin的跳棋「建议收藏」AekdyCoin正在玩一个游戏,该游戏要用到两副牌和一个数轴和一个棋子。刚开始的时候棋子位于数轴的0位置。然后AekdyCoin交替的从两副牌中抽取一张牌,然后执行相应的动作。设这两幅牌为A

    2022年7月1日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号