winform设置背景图片,当上面有透明picturebox控件时,显示或刷新慢,求解决办法!!

kmwslj 2009-01-05 06:05:10
c#2005 winform,当设置了backgroundimage后,如果在窗体上放置多个picturebox(10个左右),且picturebox的背景设为透明,backcolor=Transparent;每次打开窗口时,那些picturebox就像一个一个刷出来一样,感觉很差,即使这个窗口已经显示完全,我用另一个窗口覆盖在上面,把覆盖的窗口关闭,重新显示这个窗口时也是一样,那些picturebox就像一个一个刷出来一样。
感觉应该是透明picturebox和窗口背景图片两者一起使用时,c#重绘引起的,不知大家有没有办法解决呢?或者有没有什么解决的思路呢?
...全文
1217 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
absd96321 2012-08-13
  • 打赏
  • 举报
回复
我做出来的。、。。label刷新也是很慢。。
瓦男刀疤六 2012-08-10
  • 打赏
  • 举报
回复
把背景图放在一个picturebox中,dock到整个panel或者form里,然后把其他所有picturebox的parent都设为这个picturebox就不闪了。
瓦男刀疤六 2012-08-10
  • 打赏
  • 举报
回复
这个问题我试着不用背景图,改成底下放一个全屏的picbox就不闪了,但是透明就有问题了。所以我觉得还是出在透明上
kevin_水滴石穿 2011-11-23
  • 打赏
  • 举报
回复
我也遇到了类似的问题,双缓存什么全用上了,都没有很明显的效果,正在努力解决中。。。
wangpengxiujian 2011-08-26
  • 打赏
  • 举报
回复
查询真相中
yfc260 2011-08-05
  • 打赏
  • 举报
回复
大家都等你解决问题
AiKen-Liu 2011-01-25
  • 打赏
  • 举报
回复
这个问题你解决了没。。把代码发给我看看行吗。。
我现在也遇到这样的问题。。。
zcii_ren 2010-03-12
  • 打赏
  • 举报
回复
我用双缓冲技术解决的
shancheng44 2009-12-01
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!,每天回帖也没见给我分
yzk2008 2009-09-18
  • 打赏
  • 举报
回复
我也在解决这个问题,试了网友提供的多种方法,包括双缓冲,重写OnPain方法,都不行。
不知哪位高手能解决的,麻烦给个提示啊,2008yzk@163.com
kmwslj 2009-01-06
  • 打赏
  • 举报
回复
ccs02287 是不是没有为窗体1设置背景图片啊?
kmwslj 2009-01-06
  • 打赏
  • 举报
回复
这个不是加载慢,而是显示慢啊,就是窗口已经加载完成,只是在前端遮盖一个窗口,把遮盖窗口关闭,显示出被遮住的窗体也会慢!
消失的尘芥 2009-01-05
  • 打赏
  • 举报
回复
up
wangping_li 2009-01-05
  • 打赏
  • 举报
回复
启用双缓冲试试看
this.SetStyle(ControlStyles.AllPaintingInWmPaint|
ControlStyles.UserPaint|ControlStyles.DoubleBuffer,true);
如果还是慢的话建议利用线程做成一个等待的效果,等全部加载完了再显示
包括像Photoshop、Dreamweaver...这样的软件在进入程序主界面之前都有等待加载的画面,可以使用这样的做法
使用多线程,主线程负责图片加载的工作,另外一个线程显示加载进度或者就显示张等待的图像.直到所有图片加载完毕。
空心兜兜 2009-01-05
  • 打赏
  • 举报
回复
-。-
做了个简单的米有发现
(俩窗体,窗体1有一个按钮用于呼叫窗体2,窗体1有12个“backcolor=Transparent”的picturebox)
GTX280 2009-01-05
  • 打赏
  • 举报
回复
帮顶

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧