一种: 把图像文件放到项目的文件夹中

1 如果图像文件是.cur格式:

Cursor cur=new Cursor(文件名);

this.cursor=cur;

两句话 就完事

2 如果图像文件是其他格式 

首先引入命名空间

  1. using System.Runtime.InteropServices;

导入API

  1. [DllImport("user32.dll")]
  2. public static extern IntPtr LoadCursorFromFile(string fileName);

接下来使用自己的鼠标样式

  1. IntPtr colorCursorHandle = LoadCursorFromFile("my.bmp");//鼠标图标路径
  2. Cursor myCursor = new Cursor(colorCursorHandle);
  3. this.Cursor = myCursor;

二种: 把图像文件放到项目资源中

1 添加引用 using System.Runtime.InteropServices;

2.2 在程序中声明光标资源加载函数LoadCursorFromFile;

[DllImport("user32")]

private static extern IntPtr LoadCursorFromFile(string fileName);

2.3 声明数组 byte[] cursorbuffer=namespace.Resource .CursorName;

Namespace为资源文件所在项目的命名空间名称,CursorName对应光标资源文件名。

2.4 创建一个临时光标文件tempTest.dat;将cursorbuffer中的数据写入数据文件中;

FileStream fileStream = new FileStream("tempTest.dat", FileMode. Create);

fileStream.Write(cursorbuffer, 0, cursorbuffer.Length);

2.5 关闭文件,利用API 函数LoadCursorFromFile从光标临时文件中创建光标。

fileStream.Close();

Cursor .Current =new Cursor(LoadCursorFromFile("temp001.dat"));

其实加载光标就两种方式,

1、直接用.cur文件直接获得Cursor对象;

2、获得文件的内存缓存指针,然后获得Cursor对象,获得指针有两种方法①已知文件,由API函数LoadCursorFromFile()获得指针;②如果是资源文件,则可以直接用Properties.Resources.资源名.GetHicon() 来获得;

所以有了资源文件,我们不必把资源文件写入文件,再通过LoadCursorFromFile()获得即可。

C# 自定义光标 WaitCursor的更多相关文章

  1. 在.NET中实现彩色光标/动画光标和自定义光标[转]

    下面是完整的例子,可以通过命令行编译即可看到效果. Test.cs using System; using System.Drawing; using System.Windows.Forms; us ...

  2. 在ListCtrl控件中设置自定义光标

    ::SetCursor(::LoadCursor   (::AfxGetInstanceHandle(),   MAKEINTRESOURCE(IDB_BMP_MOUSE))); void   CMy ...

  3. C# 全屏坐标及区域坐标获取。自定义光标及系统光标描边捕捉显示。

    最近手头工作比较轻松了一点就继续研究和完善之前的录屏软件,使用AForge最大的问题在于:最原始的只能够录全屏,而自定义的录屏需要更改非常多的细节:like follows: 1.需要支持区域化录屏: ...

  4. Android 自定义光标样式

    今天自定义光标,自己切图,不过怎么切都是很宽.不是一个很细的条.我用ps花了一个像素的直线,放上去还是不行.后来在网上找到方法,那就是用shape.不得不说,shape真的是太吊了. 给EditTex ...

  5. CSS使用自定义光标样式-遁地龙卷风

    测试环境是chrome浏览器 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357. ...

  6. C# Form实现自定义光标

    WinForm代码如下: using System; using System.Reflection; using System.Runtime.InteropServices; using Syst ...

  7. pixi.js 自定义光标样式

    pixi 介绍 Pixi是一个超快的2D渲染引擎,通过Javascript和Html技术创建动画或管理交互式图像,从而制作游戏或应用. 项目地址:https://github.com/pixijs/p ...

  8. mac item2自定义光标移动快捷键,移动行首行尾,按单词跳转

    To jump between words and start/end of lines in iTerm2 follow these steps: iTerm2 -> Preferences ...

  9. 在.net桌面程序中自定义鼠标光标

    有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 ...

随机推荐

  1. php cURL library is not loaded

    问题: php 在命令行里面可以找到 curl 模块,但是用apache 没有找到 curl 模块. 表现内容为: extension_loaded('curl')cURL library is no ...

  2. Android:ListView之ViewHolder

    前言 在开发Android应用过程中经常要与列表展示打交道,比如Listview.在使用过程中如果不能正确的进行细节处理那么对性能还是有很大的损耗的. Listview展示内容是通过一个Adapter ...

  3. html标准写法

    <!--doctype指定文档类型htm--> <!doctype html> <html> <header> <!--设置字符集 utf-8-- ...

  4. Catalyst揭秘 Day8 Final 外部数据源和缓存系统

    Catalyst揭秘 Day8 Final 外部数据源和缓存系统 今天是Catalyst部分的收官,主要讲一些杂项内容. 外部数据源处理 什么叫外部数据源,是SparkSql自己支持的一些文件格式,以 ...

  5. 《C和指针》 读书笔记 -- 第7章 函数

    1.当程序调用一个无法见到原型的函数时,编译器便认为该函数返回一个整型值.如果这个值实际上是非整型值时,还得执行类型转换,所以函数原型声明有时很重要. 2.值的类型并不是值的内在本质,而是取决于它被使 ...

  6. ubuntu1304下安装boa服务器

    本测试在ubuntu1304下测试,具体步骤如下: 1下载源码:www.boa.org,可在ubuntu下自带的火狐浏览器下载,也可在window下下载,然后再移到ubuntu下: 2打开终端,将bo ...

  7. jquery.prompt.js 弹窗的使用

    /*** * Prompt提示语插件 * 编写时间:2013年4月8号 * version:Prompt.1.0.js * author:小宇<i@windyland.com> ***/ ...

  8. 请求管道与IHttpModule接口

    IHttpModule向实现类提供模块初始化和处置事件.  IHttpModule包含兩個方法: public void Init(HttpApplication context);public vo ...

  9. 浏览器对象模型BOM(Browser Object Model)

    1.结构 BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是w ...

  10. Delphi XE5 android 黑屏的临时解决办法

            下载style 然后在deployment里添加进去 http://files.cnblogs.com/nywh2008/styles.rar 在AndroidManifest.tem ...