当前位置:编程学习 > C#/ASP.NET >>

求大神解决C# winform实现边滚动滚动条边加载图片?类似搜狗壁纸的?

我们生成N多个图片要求加载到窗口,就像搜狗壁纸的那个功能,要求边拖滚动条边加载,一直拖一直可以加载,用C#winform的。我们是接收到数据自己绘成特定格式图片。就是不停的接收数据,不停的绘图,然后先缓存,等拖动滚动条或滚动滑轮时在加载出来,基本和搜狗壁纸的那个效果一样。求大神帮忙!!!内牛满面跪拜中!!! --------------------编程问答-------------------- wpf有个虚拟化的技术,winform就没有研究过又没有虚拟化技术;

虚拟化的一般是先加载简单的框架,等要显示的时候在构造控件,winform中要实现的确比较麻烦点,建议采用分页的方式来替代吧;

一定要用,就必须通过进度条的位置来判断哪些图片被滚动到可是窗体,然后再加载图片,另外看看dev的第三方控件又没有吧 --------------------编程问答-------------------- 你自己都说的这么清楚了,还有什么不会的,对着你说的,一步步实现 --------------------编程问答-------------------- 我也要实现这个功能,不知道有什么好方法吗? --------------------编程问答-------------------- 帮顶! --------------------编程问答-------------------- 判断滚动条确定是否在可视UI内这个不是难事,关键是怎么缓存起接收到的文件,我的想法是先落地到本地硬盘。然后同时List<String>.add(路径)。
然后在拉动滚动条的同时 通过List<String>先进先出的原则,不断的生成图像控件,把生成的图像控件加入到类似一个FlowLayoutPanel控件中。

当然,上面的方法很粗糙,但只是提供一种思路。具体的List<String>容器和图像控件和FlowLayoutPanel控件都可以用更好的object对象去代替。只是提供一种思路。 --------------------编程问答-------------------- 自己思路这么清晰了,就一步一步的实现吧。
第一个问题:当滚动条到最后了如何判断它仍然在继续拖动。(不能拖的时候仍向下拖动)
第二个问题:如果你的图片是在远程服务器 你可以通过 Socket 或是 wse 来下载 到本地。
           当触发第一个问题的时候根据需要加载图片就可以了。动态生成控件本来就没什么难的。用个浮动控件就可以解决排版问题,或是写个规则去规定坐标也行。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,