C# GDI 如何动态绘制矩形

类似于QQ截图!我只能画出静态的!就是点一下出现一个矩形!现在我像实现动态效果的!就是当鼠标按下去只要不松矩形就可以动态拉大!谢谢了!谁能发个重绘的代码啊谢谢了!... 类似于QQ截图!我只能画出静态的!就是点一下出现一个矩形!现在我像实现动态效果的!就是当鼠标按下去只要不松矩形就可以动态拉大!谢谢了!
谁能发个重绘的代码啊谢谢了!
展开
 我来答
rightmin
2010-09-13 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1790万
展开全部
利用3个事件
鼠标按下事件,鼠标移动事件,鼠标松开事件

鼠标按下的时候,记录当前的鼠标坐标,并设置一个值表示进入绘制矩形状态
鼠标移动的时候,判断是否是绘制矩形的状态,如果是,首先记下鼠标的坐标,然后利用第一个点(鼠标按下的点),绘制一个矩形

当鼠标松开的时候,停止绘制

这样会有个问题,就是每次移动的时候都绘制一个矩形,导致矩形太多了,解决的办法有2个,
1.每次画之前清除背景
2.记录上次的两个坐标,然后用和背景色一样的画笔重新画一个矩形
草薙在
2010-09-13 · TA获得超过4795个赞
知道大有可为答主
回答量:6187
采纳率:50%
帮助的人:6279万
展开全部
鼠标拖动的时候不断的重绘就可以了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐的咸鱼
2010-09-13 · 超过27用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:61.6万
展开全部
在mousemove事件中获取鼠标当前坐标不停的重绘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈学阳
2010-09-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5526万
展开全部
那就得计算你的文本了
根据Font的高度和宽度 算出你的矩形大小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f1b8003
2010-09-13 · TA获得超过2189个赞
知道答主
回答量:97
采纳率:0%
帮助的人:26.3万
展开全部
你随便在哪个源码站下一个C#画板就可以从里面找到代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式