C# GDI 如何动态绘制矩形
1个回答
展开全部
代码不写了,这里说算法:
利用3个事件
鼠标按下事件,鼠标移动事件,鼠标松开事件
鼠标按下的时候,记录当前的鼠标坐标,并设置一个值表示进入绘制矩形状态
鼠标移动的时候,判断是否是绘制矩形的状态,如果是,首先记下鼠标的坐标,然后利用第一个点(鼠标按下的点),绘制一个矩形
当鼠标松开的时候,停止绘制
这样会有个问题,就是每次移动的时候都绘制一个矩形,导致矩形太多了,解决的办法有2个,
1.每次画之前清除背景
2.记录上次的两个坐标,然后用和背景色一样的画笔重新画一个矩形
利用3个事件
鼠标按下事件,鼠标移动事件,鼠标松开事件
鼠标按下的时候,记录当前的鼠标坐标,并设置一个值表示进入绘制矩形状态
鼠标移动的时候,判断是否是绘制矩形的状态,如果是,首先记下鼠标的坐标,然后利用第一个点(鼠标按下的点),绘制一个矩形
当鼠标松开的时候,停止绘制
这样会有个问题,就是每次移动的时候都绘制一个矩形,导致矩形太多了,解决的办法有2个,
1.每次画之前清除背景
2.记录上次的两个坐标,然后用和背景色一样的画笔重新画一个矩形
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询