Code Bye

设定鼠标移动到panel控件范围内箭头Arrow变抓手Hand图标

在窗体内拖一个panel控件做容器,希望鼠标移动到panel范围内的时候箭头Arrow变成手型Hand图标。这部分代码没问题,是不是panel控件需要做一些声明之类的啊。
private bool IsMouseInPanel()//判断能否在图片显示框范围内
        {           
           if (Cursor.Position.X > PointToScreen(this.groupBox1.Location).X
               && Cursor.Position.X < PointToScreen(this.groupBox1.Location).X + panel1.Width
               && Cursor.Position.Y > PointToScreen(this.groupBox1.Location).Y
               && Cursor.Position.Y < PointToScreen(this.groupBox1.Location).Y + panel1.Height)
            {
                this.Cursor = Cursors.Hand;
                return true;
            }           
            else
            {
                this.Cursor = Cursors.Arrow;
                return false;
            }
解决方案

20

Bitmap bmp=new Bitmap("xxxxx.png");
Cursor cursor = new Cursor(bmp.GetHicon());
panel1.Cursor = cursor;

10

引用:
Quote: 引用:

选中panel,按F4,设置Cursor属性为Hand
不用你写的那些乱七八糟的东西

本人前面的那一堆是控制鼠标能否在这个范围内,然后控制鼠标滚轮操作

不需要你想那么多,你把控件的Cursor属性修改好了,这部分工作系统会帮你处理。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明设定鼠标移动到panel控件范围内箭头Arrow变抓手Hand图标