C# winform 当移动窗口的时候,绘图就会改变,怎么使移动窗口的时候,不触发Paint事件呢? 谢谢 5

移动窗体的时候,这些线路就没有了,不能通过重绘,因为里边的图形在变化的时候,我移动的窗体,不知道移动窗体的时候绘制图形到什么地步了。如果有不理解的地方,我qq:22276... 移动窗体的时候,这些线路就没有了,不能通过重绘,因为里边的图形在变化的时候,我移动的窗体,不知道移动窗体的时候绘制图形到什么地步了。 如果有不理解的地方,我qq:2227646653 展开
 我来答
alwaysfirst
2012-07-24 · TA获得超过491个赞
知道小有建树答主
回答量:457
采纳率:0%
帮助的人:222万
展开全部
在移动事件中先记录原有控件的坐标,移动结束后恢复原有坐标,再次重绘
雨兰吟G
推荐于2018-04-05 · TA获得超过1082个赞
知道小有建树答主
回答量:282
采纳率:100%
帮助的人:440万
展开全部
使移动窗口的时候,不触发Paint事件这一做法本来就有问题吧?
如果移动窗体图像就消失了。那你的绘图应该是CreateGraphics方法获取Graphics后绘制的。
所以只要换个一方法就好了。直接响应Paint事件或者重写OnPaint方法,在里面进行图像绘制就好了,然后用数据保存当前的绘制情况。
更多追问追答
追问
移动窗口的时候,组织触发Paint事件,没法实现吗?
追答
你试试吧。
bool draw = true;
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0112 && m.WParam == (IntPtr)0xF012) //响应到窗体移动事件
draw = false;
else if (m.Msg == 0x000F && (!draw)) //绘图事件
{
return;
}
base.WndProc(ref m);
}
但是要恢复响应绘图事件,需要手动把draw设为true。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
源语梦Hg
2012-07-23 · TA获得超过521个赞
知道小有建树答主
回答量:670
采纳率:100%
帮助的人:268万
展开全部
移移动都得触发paint事件,不过可以屏蔽,这样在移移动时窗口的内容将是一片空白.
你是要达到这种效果吗:
平移时窗口一片空白,或者是画面在原地不动
当松开鼠标时瞬间在所在位置显示出画面
追问
移动时怎么屏蔽Paint事件,给个例子写一下,谢谢
追答
可以根据鼠标的动作判断,然后判别画是不画..
看看这个:
http://blog.csdn.net/soarandy/article/details/5038644

说得挺明白..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5b65437
2012-07-24 · TA获得超过634个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:375万
展开全部
那你更做的时保存这些路线,在 Paint 事件里对这些路线绘制,而不是想法跳过这个事件
追问
那就是在移动的时候没法跳过Paint事件?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
8246sasuke
2012-07-24
知道答主
回答量:42
采纳率:0%
帮助的人:15.2万
展开全部
其实,你可以通过C#控制C++的GDI画图,这样画的又快,又不会出发Paint事件,很给力的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式