C# GDI绘制矩形框,鼠标左键拖动可移动矩形框,滚轮放大缩小矩形框

本文介绍了如何使用C#的GDI+实现一个矩形框,允许通过鼠标左键拖动来移动矩形框,以及通过滚轮进行放大和缩小。主要涉及滚轮事件处理、鼠标移动和按下事件,以及矩形框坐标计算和边界检查。代码简洁明了,适合需要此类功能的开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               最近工作需要,要做一个矩形框,并且 用鼠标左键拖动矩形框移动其位置。网上查了一些感觉他们做的挺复杂的。我自己研究一天,做了一个比较简单的,发表出来供大家参考一下。如觉得简单,可路过,谢谢。哈哈。

               先大概介绍一下原因,GDI画矩形框就不说了,很简单的。这里面最主要的就是滚轮放大和左键移动两个事件,要计算矩形框的坐标位置。下面将代码贴出如下:

    先是定义需要的变量,就四个变量。


        //矩形框坐标
        private Rectangle DrawRect = new Rectangle(0, 0, 100, 100);
        //鼠标按下时坐标
        private Point MouseDownP = new Point();
        //放大倍数
        private int zoom = 0;
        //鼠标移动矩形框次数,如果移动过矩形框则不从中心放大,以移动后的位置放大缩小,缩小为原大小,缩放数为0时,重置此数
        private int MoveCount = 0;

 

然后编写鼠标事件

        private void this_MouseWheel(object sender, MouseEventArgs e)      

       {         

             if (e.Delta > 0)       

             {           

                   if (zoom < 80)// 最大放大80倍             

                         zoom++;          

              }        

              else     

              {         

                     if (zoom > 0)         

                             zoom--;         

                     if (zoom == 0) //放大倍数=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值