日期:2014-05-17  浏览次数:20790 次

控件在移动时,如何高效重绘背景?
如图:


如果背景上是一张图片,且Panel已设置背景透明(这样就能看到背景上的图片),希望,Panel在移动时背景图片不受影响。

现在的情况是,Panel在移动时,抖动很厉害,因为它在不停地重绘背景,想请教下,这里有没什么办法优化?

------解决方案--------------------
因为你的panel是透明的,背景容器需要在你拖动时一直重绘自己,给你的背景容器加双缓存试试。

如果还不行,那就在panel开始拖动时干掉panel,等放置的时候再放出来。
------解决方案--------------------
整个画面全部自行绘制上去,包括移动之后根据偏移量也把panel控件包含的内容全部绘制上去,不使用panel等任何控件,自行处理所有鼠标事件。
------解决方案--------------------
#6
做这种效果  不要使用控件 
------解决方案--------------------
类似苹果上的菜单吗?背后是背景,前面是排列的图标,要高效方便的话,做成一个自定义控件吧。在控件中对这些图标进行绘制,类似仿QQ好友列表差不多原理。
参考下:
好友列表绘制
------解决方案--------------------
如果要两个panel做特效切换的话,介意重绘tabControl然后加入动画。
可以用1楼那哥们资源里的,tabcontrol实现动画切换。
TabSlider标签滑动器