`
testcs_dn
  • 浏览: 114386 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

 
阅读更多

在使用QQ的截图功能的时候,是不是觉得它的光标很酷呢?今天就说一下怎么应用自定义光标,在我们的截图工具中使用QQ截图的光标。

打开资源:


切换到文件资源视图:


打开资源文件目录,将光标文件复制到此目录下:


所需光标文件下载:C#软件开发实例.私人订制自己的屏幕截图工具中使用的光标文件

选中Resources目录,刷新,显示出刚刚复制进来的光标文件:

选中光标文件,拖动到资源的文件视图中:


资源资源名称中的单词第一个字母改为大写。

光标预览:


在Form1类中添加私有变量:

        #region 自定义光标
        System.Windows.Forms.Cursor cursorCross = null;
        System.Windows.Forms.Cursor cursorDefault = null;
        System.Windows.Forms.Cursor cursorText = null;
        System.Windows.Forms.Cursor cursorColor = null;
        #endregion

添加WindowsAPI声明:

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

添加从已有资源中获得光标的方法:

        /// <summary>
        /// 从已有资源中获得光标
        /// </summary>
        /// <param name="resource"></param>
        /// <returns></returns>
        public static Cursor getCursorFromResource(byte[] resource)
        {
            byte[] b = resource;
            FileStream fileStream = new FileStream("cursorData.dat", FileMode.Create);
            fileStream.Write(b, 0, b.Length);
            fileStream.Close();
            Cursor cur = new Cursor(LoadCursorFromFile("cursorData.dat"));
            return cur;
        }

添加窗口初始化事件处理程序,添加自定义光标:

        /// <summary>
        /// 窗口初始化事件处理程序
        /// </summary>
        private void Form1_Init()
        {
            this.isCuting = false;
            this.beginPoint = new Point(0, 0);
            this.endPoint = new Point(0, 0);

            cursorDefault = getCursorFromResource(Properties.Resources.Cursor_Default);
            cursorCross = getCursorFromResource(Properties.Resources.Cursor_Cross);
            cursorText = getCursorFromResource(Properties.Resources.Cursor_Text);
            cursorColor = getCursorFromResource(Properties.Resources.Cursor_Color);
        }

设置默认光标,处理光标状态:

在ShowForm方法的else条件中添加:

this.Cursor = cursorDefault;
在ExitCutImage方法中添加代码:

this.Cursor = cursorDefault;
添加鼠标进入Form1窗体事件处理程序:

        /// <summary>
        /// 鼠标进入Form1窗体事件处理程序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_MouseEnter(object sender, EventArgs e)
        {
            this.Cursor = cursorDefault;
        }
Form1的构造函数中添加代码:

Form1_Init();
Ok,编译,截图看看效果吧!

这里添加了多个光标文件,但是只用到了一个,其它的在以后添加的功能中会使用到。


分享到:
评论

相关推荐

    C#软件开发实例.私人订制自己的屏幕截图工具中使用的光标文件

    在C#软件开发中,创建一个自定义的屏幕截图工具是一项常见的任务,它涉及到图形用户界面(GUI)的交互和图像处理技术。本实例重点讨论的是如何在这样的工具中使用自定义的光标文件,以提供更加个性化的用户体验。...

    【源码】C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现

    此代码对应于博客文章:C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现,文章链接:http://blog.csdn.net/testcs_dn/article/details/23346683

    【源码】C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能

    此代码对应于博客文章:C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能,文章链接:http://blog.csdn.net/testcs_dn/article/details/24466763

    C#cs结构自定义光标源码 光标图案

    1. 创建光标实例:通过以下代码可以创建一个新的自定义光标: ```csharp Icon customIcon = Icon.FromHandle(new Bitmap("custom_cursor.ico").GetHicon()); Cursor customCursor = new Cursor(customIcon.Handle); ...

    C#自定义光标WInform

    本文将详细讲解如何在C#环境下,使用Visual Studio 2017,基于.NET Framework 2.0,实现自定义光标的创建和应用。 首先,我们需要了解在Windows Forms中光标的基本概念。光标是鼠标指针的一种图形表示,它通常由...

    200个经典C#WinForm实例源码.rar

    《C# WinForm实例解析——200个经典...通过深入学习这200个经典实例,你将能够全面掌握C# WinForm开发,提升自己的编程技巧,为日后的项目开发打下坚实基础。每一个源码都是一个宝贵的教育资源,值得反复研读和实践。

    C#编程实现屏幕区域截图

    在本文中,我们将深入探讨如何使用C#编程语言实现屏幕区域截图的功能。C#是一种广泛应用于Windows应用程序开发的面向对象的编程语言,它提供了丰富的类库支持,使得开发者能够轻松地进行屏幕捕获操作。 首先,我们...

    托盘,自定义光标,图标

    在IT领域,托盘、自定义光标以及图标是构建用户界面(UI)时不可或缺的元素,它们共同决定了软件或应用程序的美观度和用户体验。下面将详细解释这些概念及其重要性。 托盘,通常指的是系统托盘或者通知区域,位于...

    用C#写的屏幕截屏例子

    在本文中,我们将深入探讨如何使用C#编程语言实现屏幕截屏功能。C#是一种广泛应用于Windows桌面应用开发的强大语言,Microsoft的.NET框架为开发者提供了丰富的API和类库,使得屏幕截屏这样的任务变得简单易行。让...

    C#通讯录实例...C#通讯录实例

    在本文中,我们将深入探讨如何使用C#编程语言构建一个通讯录实例。C#是一种功能强大的面向对象的编程语言,广泛应用于开发Windows桌面应用程序、Web应用程序以及游戏等。创建一个通讯录实例是学习C#基础知识和面向...

    ArcGIS Engine+C#实例开发教程.rar

    《ArcGIS Engine+C#实例开发教程》是一份深入讲解如何使用ArcGIS Engine结合C#进行地理信息系统(GIS)开发的详细教程。ArcGIS Engine是Esri公司提供的一个强大的开发工具,它允许开发者创建桌面、移动和Web应用程序...

    C#软件开发实例,谨供参考

    基于C#的软件开发实例,可供程序人员参考

    自定义鼠标光标.rar

    综上所述,“自定义鼠标光标.rar”压缩包可能是提供了一系列预设的自定义光标资源,用户只需解压并按照正确的步骤操作,即可在自己的电脑上使用这些独特的鼠标光标,为日常工作和娱乐增添乐趣和个性化。

    C#截图(截屏)源代码及使用例子(仿QQ截图)

    C#截图(截屏)源代码及使用例子(仿QQ截图) 基于CS程序员之窗CSharpWin截图源码,进行了简单修改。 1、截图时添加遮罩层 2、响应键盘事件ESC 3、默认鼠标样式 4、保存默认文件名 5、截图时立即执行OnPaint函数

    C# 自定义控件实例 C# 自定义控件实例

    在这个实例中,我们将探讨如何在C#中创建自定义控件,以及涉及的一些关键知识点。 首先,我们来看`button`控件。在.NET Framework中,`button`是最基础的交互元素之一,通常用于触发某个操作。要自定义`button`,...

    用于Excel环境使用的自定义函数,使用ExcelDna的框架技术,用C#语言开发。.zip

    总结起来,使用ExcelDna和C#开发自定义函数可以极大地提升Excel的工作效率,使得用户能够定制适合自己业务场景的计算逻辑。无论是简单的数据处理还是复杂的业务逻辑,都能在Excel环境中得到实现。通过深入学习和实践...

    C#工控上位机实例-「C#上位机」西门子1200PLC实用定位控制程序案例 c#经典案例.pdf

    文中首先介绍了项目开发平台的选择,使用西门子TIA Portal V15编程软件编写运动控制程序,并实现PLC对步进电机的控制。接着,文中讨论了硬件接线、PLC编程和上位机开发思路,比较了组态软件和C#开发上位机的区别,...

    c#各种拖拽实例.zip

    在C#编程中,"拖放"(Drag and Drop)功能是一项常用的技术,它允许用户通过鼠标操作将一个对象从一处“拖动”到另一处“放下”。这项技术广泛应用于文件管理器、桌面图标以及各种软件界面中,为用户提供了一种直观、...

    C#自定义控件.rar

    本资料包“C#自定义控件.rar”显然是关于如何在C#环境中创建和使用自定义控件的教程或示例代码。 自定义控件的创建通常分为几个步骤: 1. **基础类选择**:首先,你需要选择一个基础类来继承。这可以是系统提供的...

    c#自定义控件开发.pdf

    本文将对C#自定义控件开发进行详细的解释,涵盖自定义控件基础知识、编写简单的自定义控件、检查控件的设计时行为等方面。 一、自定义控件基础知识 Windows 窗体控件是可再次使用的组件,它们封装了用户界面功能,...

Global site tag (gtag.js) - Google Analytics