首页 新闻 赞助 找找看

请教winform加载效率的问题:

0
悬赏园豆:50 [已解决问题] 解决于 2009-01-06 10:24


winform 加载窗体为啥会狂闪?是我加了form的backimg和其他一些panel透明的原因么?

我主窗体的背景加了个大图,然后其他加载进来的子窗体透明就可以不用设置背景图了, 难道是这个原因?请教高手帮解决,谢谢了。。。发到主页希望大家关注帮下忙

问题补充: 加载usercontrol的时候也是同样的问题
汤包的主页 汤包 | 初学一级 | 园豆:25
提问于:2008-12-14 11:13
< >
分享
最佳答案
0

恩。我也 遇到过这样的问题,当时也是用了 背景 的 transparence 属性, 在加载的时候 上面的控件会一个一个的出来, 给用户一个不太友好的感觉,所以有些地方最好不要用 transparence 属性, 以其他方法来替代下, 还有一个原因就是 你加载图片的时候最好在一个方法里面,这样出来的图片会机会同步的出来,paint 方法会整合这个东西,但是如果你把图片用n 个方法来加载的话,paint() 会处理n 次,给人的感觉是一个一个出来 ,如果你喜欢这样的感觉也可以在 设计器里 实现, 具体自己定

Shuke | 菜鸟二级 |园豆:225 | 2008-12-15 09:49
其他回答(5)
0

可能与你的背景设置有关,此外你再看一下窗体上面有没有什么数据绑定的东西,我以前也遇到过类似的情况,或者不绑定数据只是背景图片设置一下设置透明效果看看会不会闪就可以查出来到底是哪的问题了!

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-14 11:18
0

看是不是窗体的构造函数或OnLoad事件 太复杂。

BB_Coder | 园豆:797 (小虾三级) | 2008-12-14 12:14
0

估计是背景图的问题,相当于加载任何一个子窗体都要重绘一次当前区域,所以导致了闪烁

Gray Zhang | 园豆:17610 (专家六级) | 2008-12-14 13:17
0

将DoubleBuffer属性设置成True试试

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2008-12-14 15:25
0

我遇到过这个情况,应该是你透明窗体覆盖时造成的闪烁。好像和显卡有一定关系,你把显卡的硬件加速功能关掉试试。

eaglet | 园豆:17139 (专家六级) | 2008-12-15 07:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册