C# 绘图 为什么 背景图形 突然消失了? 我在做一个道路交通模拟的小程序,首先画一个背景,就是许多线段,代表道路然后在这个背景上,画很多移动的矩形,代表汽车现在所有的功能都实现了,看上去非常完美,可是,不知道为什么,程序运行一会儿,最早画的背景就一下都消失不见了,我可以确定的是,并不是移动的矩形把背景覆盖了,而是一下子就消失了,这是怎么回事,应该怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 窗口移动、缩放,不再被遮挡......都可能会引起重绘事件,重绘前,Windows将清除窗口上的所有内容,而重绘事件处理方法负责将窗口上应该显示出来的内容都绘制出来,无论何时,Windows从不保存有关窗口上所显示内容的任何信息,这是应用程序负责的范围。 你可以将用来做背景的图片生成为一个Image对象,指给Form的BackgroundImage属性。 窗体刷新了,。得写在Paint()事件中。最好的策略是先画到一个Image中,让后在Paint()事件中绘制这个Image上次让你下载我写方块看看先 按钮之后 -〉1,21. 初始化背景(绘制背景中的道路)2. 触发tick, 在tick里面不断生成线程,线程里面画移动的矩形 移动的矩形是依靠时间间隔thread.sleep来控制的,那已经不在timer的控制内了 还有一个问题,就是:程序结束时点击窗口右上角的红叉按钮,会报错:“GDI+ 中发生一般性错误” 是不是因为一些图形对象没有被销毁导致的,应该怎么解决呢? 设置Form的BackgroundImage也不能避免背景被擦除? 我的移动的矩形,都是根据背景的位置来定的,它们只能在“道路上”行走如果要给Form设置一个背景,是不是要自己制作一张类似jpg的图片,然后衬到form的背景上?我暂时的解决方法是随着每次timer的tick, 重新绘制背景,但是tick间隔较短,仍然会出现闪动的情况(也就是肉眼能觉察到背景的消失) I've found it. It's "FormClosing()" 如果要给Form设置一个背景,是不是要自己制作一张类似jpg的图片,然后衬到form的背景上? ------------------------对了,设置这个属性,免得总是需要自己去手动绘制。 这个,在Form的Load事件(或Resize事件,如果担心别人会缩放窗口的话)中,计算一下窗口的高和宽,将图片缩放一下,再赋给Form的BackgroundImage。 sql ce数据库操作问题 ASP.NET页面采用AJAX.NET技术来实现分页,上传到服务器之后发现“Presell未定义”错误 请教Winform进度条怎样改变颜色? 求助C#(winform)获取当前IE地址栏的url 孟子E章、思归、吴旗娃、速马等大师们和带星的大侠们,帮忙进入!站着等着。 如何实现数据库中某一个关系的所有元组的一个列都加1 关于c#处理access中长二进制字段问题 如何执行在c#程序中执行osql命令行程序 运行时,代码在内存中能共享吗? 各位同仁!各位大虾!各位高手、里面请!——〉〉〉 关于ajax提交乱码问题 C#怎么实现图片在界面上拖动。请教~
1. 初始化背景(绘制背景中的道路)
2. 触发tick, 在tick里面不断生成线程,线程里面画移动的矩形
移动的矩形是依靠时间间隔thread.sleep来控制的,那已经不在timer的控制内了
还有一个问题,就是:程序结束时点击窗口右上角的红叉按钮,会报错:“GDI+ 中发生一般性错误” 是不是因为一些图形对象没有被销毁导致的,应该怎么解决呢?
我的移动的矩形,都是根据背景的位置来定的,它们只能在“道路上”行走如果要给Form设置一个背景,是不是要自己制作一张类似jpg的图片,然后衬到form的背景上?我暂时的解决方法是随着每次timer的tick, 重新绘制背景,但是tick间隔较短,仍然会出现闪动的情况(也就是肉眼能觉察到背景的消失)
I've found it. It's "FormClosing()"
------------------------
对了,设置这个属性,免得总是需要自己去手动绘制。