.NET 隐藏/自定义windows系统光标

简介: 【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。
  1. 使用Cursor类隐藏光标
  • .NET中,可以使用Cursor类来控制光标。要隐藏光标,可以将光标设置为Cursors.None。以下是一个简单的Windows Forms应用程序示例,用于隐藏光标:
  • 首先,创建一个新的Windows Forms应用程序项目。在Form1.cs文件中(假设默认的表单名称为Form1),在Form1Load事件处理方法中添加以下代码:


using System;
   using System.Windows.Forms;
   namespace HideCursorApp
   {
       public partial class Form1 : Form
       {
           public Form1()
           {
               InitializeComponent();
           }
   
           private void Form1_Load(object sender, EventArgs e)
           {
               this.Cursor = Cursors.None;
           }
       }
   }


  • 当表单加载时,this.Cursor = Cursors.None语句会将光标隐藏。这种方法适用于整个表单区域。如果只想在表单的某个特定区域隐藏光标,可以在相应的控件的事件处理方法中设置光标。例如,对于一个Panel控件,在它的MouseEnter事件处理方法中设置光标为None,可以这样写:


private void panel1_MouseEnter(object sender, EventArgs e)
   {
       panel1.Cursor = Cursors.None;
   }


  1. 自定义光标(使用自定义光标文件)
  • 要自定义光标,首先需要有一个光标文件(.cur.ani格式)。假设已经有了一个自定义光标文件(例如customCursor.cur),可以使用Cursor类的FromFile方法来加载自定义光标。
  • 以下是一个示例,在Windows Forms应用程序中加载自定义光标并将其应用到表单:


using System;
   using System.Windows.Forms;
   namespace CustomCursorApp
   {
       public partial class Form1 : Form
       {
           public Form1()
           {
               InitializeComponent();
           }
   
           private void Form1_Load(object sender, EventArgs e)
           {
               try
               {
                   this.Cursor = new Cursor("customCursor.cur");
               }
               catch (Exception ex)
               {
                   MessageBox.Show("无法加载自定义光标: " + ex.Message);
               }
           }
       }
   }


  • 在上述代码中,this.Cursor = new Cursor("customCursor.cur")语句尝试从文件customCursor.cur加载光标。如果文件不存在或格式不正确,会抛出异常,这里通过try - catch块来捕获并显示错误消息。
  • 同样,可以将自定义光标应用到特定的控件上。例如,要将自定义光标应用到一个Button控件,可以在ButtonMouseEnter事件处理方法中设置光标:


private void button1_MouseEnter(object sender, EventArgs e)
   {
       try
       {
           button1.Cursor = new Cursor("customCursor.cur");
       }
       catch (Exception ex)
       {
           MessageBox.Show("无法加载自定义光标: " + ex.Message);
       }
   }


  1. 自定义光标(使用资源文件)
  • 除了从文件加载光标外,还可以将光标文件添加到项目的资源文件中,然后从资源中加载光标。这样做的好处是可以将光标文件与应用程序一起打包,方便分发。
  • 首先,将光标文件(例如customCursor.cur)添加到项目的资源文件中。在Visual Studio中,可以通过以下步骤添加:
  • 在解决方案资源管理器中,右键单击项目,选择 “属性”。
  • 在属性窗口中,选择 “资源” 选项卡。
  • 点击 “添加资源” 按钮,选择 “添加现有文件”,然后选择光标文件。
  • 之后,在代码中可以通过资源管理器来访问和使用光标。以下是一个示例,在Windows Forms应用程序的表单加载事件中从资源中加载自定义光标并应用到表单:


using System;
   using System.Windows.Forms;
   namespace CustomCursorFromResourceApp
   {
       public partial class Form1 : Form
       {
           public Form1()
           {
               InitializeComponent();
           }
   
           private void Form1_Load(object sender, EventArgs e)
           {
               try
               {
                   System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(Form1));
                   this.Cursor = new Cursor((System.IO.Stream)rm.GetObject("customCursor.cur"));
               }
               catch (Exception ex)
               {
                   MessageBox.Show("无法加载自定义光标: " + ex.Message);
               }
           }
       }
   }


  • 在上述代码中,System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(Form1))创建了一个资源管理器对象,this.Cursor = new Cursor((System.IO.Stream)rm.GetObject("customCursor.cur"))从资源中获取光标流并创建光标对象,然后将其应用到表单。同样,如果有错误会通过try - catch块捕获并显示消息。
相关文章
|
6月前
|
C++ Windows
Windows10添加自定义右键菜单VS Code
本文介绍了如何在Windows 10中通过修改注册表,将VS Code添加到右键菜单,实现右键文件、文件夹或空白处时使用VS Code打开。方法同样适用于其他程序,如Sublime Text 3。
|
9月前
|
安全 数据安全/隐私保护 Windows
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
670 16
如何在Windows 10系统中查看已连接WiFi密码-亲测可用-优雅草卓伊凡
|
6月前
|
前端开发 JavaScript 关系型数据库
使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
210 0
|
9月前
|
关系型数据库 虚拟化 UED
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
375 7
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
|
3月前
|
开发框架 安全 .NET
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
.NET Framework是Windows平台的开发框架,包含CLR和FCL,支持多种语言开发桌面、Web应用。常用版本有3.5、4.5.2、4.8.1,系统可同时安装多个版本,确保软件兼容运行。
843 0
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
|
4月前
|
运维 安全 Linux
【清爽加速】Windows 11 Pro 24H2-Emmy精简系统
“清爽加速”Windows 11 Pro 24H2 针对老旧或低配设备,通过精简系统、优化服务与简化装机流程,降低资源占用,提升运行流畅度,兼顾安全性与稳定性,让老设备也能轻松应对日常办公与轻度娱乐需求。
271 1
【清爽加速】Windows 11 Pro 24H2-Emmy精简系统
|
4月前
|
安全 数据安全/隐私保护 Windows
ZyperWin++使用教程!让Windows更丝滑!c盘飘红一键搞定!ZyperWin++解决系统优化、Office安装和系统激活
ZyperWin++是一款仅5MB的开源免费Windows优化工具,支持快速优化、自定义设置与垃圾清理,兼具系统加速、隐私保护、Office安装等功能,轻便无广告,小白也能轻松上手,是提升电脑性能的全能管家。
1615 0
|
4月前
|
安全 搜索推荐 开发者
【适度精简】Windows 7 旗舰版-emmy精简系统
Windows 7旗舰版因硬件占用高、冗余组件多、兼容性差及缺乏安全更新等问题,逐渐难以满足用户需求。适度精简版通过去除无用组件、优化性能与安全性,提升老旧设备运行效率,增强兼容性与稳定性,同时保留用户熟悉的操作界面,降低学习成本,满足个性化需求,延续Windows 7的实用价值。
275 2
|
5月前
|
Ubuntu Linux Windows
windows11系统安装ubuntu系统详细步骤
安装后,您可以直接从商店启动应用程序来源
1086 0
|
7月前
|
Ubuntu Linux 数据安全/隐私保护
Windows中安装WSL 2和Ubuntu系统的教程
回看这一路,有趣吧?你已经跨界成为了一个Windows和Linux的桥梁。期待在代码的世界里,把一切玩得风生水起!
425 13