zoukankan      html  css  js  c++  java
  • .Net应用自定义鼠标样式

    (调用系统API的方法)

    1.引用命名空间

    using System.Runtime.InteropServices;

    命名空间提供各种各样支持 COM 互操作 及平台调用服务的成员。
    using System.Reflection;

    命名空间包含提供加载类型、方法和字段的有组织的视图的类和接口,具有动态创建和调用类型的功能。

    2.导入API

    [DllImport("user32.dll")]
    public static extern IntPtr LoadCursorFromFile(string fileName);
    
    [DllImport("user32.dll")]
    public static extern IntPtr SetCursor(IntPtr cursorHandle);
    
    [DllImport("user32.dll")]
    public static extern uint DestroyCursor(IntPtr cursorHandle);

    3.实例鼠标样式

    public void ChangeCursor()
            {
                Cursor myCursor = new Cursor(Cursor.Current.Handle);
                IntPtr colorCursorHandle = LoadCursorFromFile(Application.StartupPath + @"Hand.cur");
                myCursor.GetType().InvokeMember("handle", BindingFlags.Public |
              BindingFlags.NonPublic | BindingFlags.Instance |
              BindingFlags.SetField, null, myCursor,
              new object[] { colorCursorHandle });
                this.Cursor = myCursor;
            }

    4.加载鼠标样式(一下为在窗体加载时更改鼠标样式)

    private void Form1_Load(object sender, EventArgs e)
            {
                ChangeCursor();
            }

    注:当然并不是必须的在窗体加载时加载鼠标样式,也可以点击button实现鼠标样式切换。

  • 相关阅读:
    [bzoj2038] [2009国家集训队]小Z的袜子
    浅谈莫队
    [bzoj2754] [SCOI2012]喵星球上的点名
    [bzoj3676] [APIO2014]回文串
    [bzoj5472] 数列
    [bzoj5457] 城市
    [bzoj1023] [SHOI2008]cactus仙人掌图
    [bzoj2125] 最短路
    [bzoj5473] 仙人掌
    读《深入理解Elasticsearch》点滴-查询评分
  • 原文地址:https://www.cnblogs.com/Price/p/3527089.html
Copyright © 2011-2022 走看看