当前位置:编程学习 > VB >>

加载大量picturebox控件导致内存溢出怎么办?

用MSFlexGrid控件,对每一行的数据要用一个图形来表示,因为一个表里面数据可能上万,
所以需要加载大量picturebox(i)控件,下面是我测试的代码,会导致内存溢出,请问有好的方法解决吗?

 Dim i As Long
    For i = 1 To 7000
        Load Picture1(i)
    Next gdi+自己画 对于这样的设计我无话可说。一将无能累死千军 对每一行的数据要用一个图形来表示?
7000个图你一屏能显示?
还是MSFlexGrid啊,怎么可能?
弄个imagelist,判断数据把需要的加载得了.
谁设计的这个思路?真的够坑爹的
引用楼主 twinsvicki 的回复:
用MSFlexGrid控件,对每一行的数据要用一个图形来表示,因为一个表里面数据可能上万,
所以需要加载大量picturebox(i)控件,下面是我测试的代码,会导致内存溢出,请问有好的方法解决吗?

 Dim i As Long
  For i = 1 To 7000
  Load Picture1(i)
  Next


方案1,更换到64位操作系统,(32位内存小于4G)增大内存
方案2,根据当前可以显示范围,按照需要加载图片,超出显示范围,卸载图片
内存再便宜也不能这么使啊. 

你7000个图片同屏显示?!?!

假设屏幕分辨率是1024X768,那么屏幕上有786432像素点

786432 / 7000 = 112

也就是说就算你全屏,什么都不显示,只显示你的那些图片,那么每个图片也只有10个像素的长宽

真是2B青年的设计……

你用表格控件加图片,其实实际上同屏最多也就几十张,剩下的几千张孵蛋用啊?照这么折腾多少内存也不够用啊,你有7000条数据就弄7000个控件,万一有张表有几百万上千万的数据呢? 完全可以做到的,自己动动脑子
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,