c# 如何自定义鼠标指针形状?

当光标移到窗体上时让鼠标指针变成十字或圆圈或其它形状,注意我问的是可以自定义任何形状,不是cursor那几个属性... 当光标移到窗体上时让鼠标指针变成十字或圆圈或其它形状,注意我问的是可以自定义任何形状,不是cursor那几个属性 展开
 我来答
翾翳嬿
2014-02-25 · TA获得超过423个赞
知道小有建树答主
回答量:190
采纳率:66%
帮助的人:258万
展开全部

可以试试以下方式,使用自定义的图片定义鼠标:

SetCursor(任意控件或者窗体, 图片, 指针的热点位置);

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            SetCursor(this, Bitmap.FromFile(Application.StartupPath + "\\a.png"), new Point(0, 0));
        }
        public static void SetCursor(Control control, Image cursor, Point hotPoint)
        {
            int hotX = hotPoint.X;
            int hotY = hotPoint.Y;
            using (cursor)
            using (Bitmap myNewCursor = new Bitmap(cursor.Width * 2 - hotX, cursor.Height * 2 - hotY))
            using (Graphics g = Graphics.FromImage(myNewCursor))
            {
                g.Clear(Color.FromArgb(0, 0, 0, 0));
                g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width, cursor.Height);
                IntPtr iptr = myNewCursor.GetHicon();
                control.Cursor = new Cursor(iptr);
            }
        }
    }

 这个方法可以写成一个Control扩展函数,使用的时候就方便了。

百度网友9a9cbba
2014-02-25
知道答主
回答量:25
采纳率:0%
帮助的人:22.1万
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式