C#鼠标移动画线的两种方式

1.直线:
在这里插入图片描述

		public Point start, end;
        public bool Myflag = false;

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            this.Myflag = false;         
        }   
        
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if(Myflag == false)
            {
                start.X = e.X;
                start.Y = e.Y;
            }
            Myflag = true;
            end.X = e.X;
            end.Y = e.Y;
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {            
            Graphics g = this.CreateGraphics();
            Pen Mypen1 = new Pen(Color.Black);
            Pen Mypen2 = new Pen(this.BackColor);

            if(Myflag == false)
            {
                return;
            }
            //用背景色画一遍,即擦除原来的线
            g.DrawLine(Mypen2, start.X, start.Y, end.X, end.Y); 
            this.end.X = e.X;
            this.end.Y = e.Y;
                       
            g.DrawLine(Mypen1, start.X, start.Y, end.X, end.Y);
        }
    }

2.随着鼠标移动画线https://blog.youkuaiyun.com/hui_shixu/article/details/7738410
我第一个画直线的方法也有受到这篇的启发,注释也很详细易懂(这个直线相对不好控制,但是可以画曲线)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值