• .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实现鼠标样式切换。

  • 相关阅读:
    2019年金秋第八周助教小结
    2019年金秋第七周助教小结
    2019年金秋第五周助教小结
    2019年金秋第四周助教小结
    2019年金秋第三周助教小结
    Java实验报告(一)
    L1-049 天梯赛座位分配 (20 分)
    助教个人总结
    【CF603E】Pastoral Oddities
    机房人物列传
  • 原文地址:https://www.cnblogs.com/Price/p/3527089.html
Copyright © 2020-2023  润新知