日期:2014-05-18  浏览次数:21373 次

Winform 内存不足
Winform,我给PictureBox 赋值 picBox_One.BackgroundImage = Image.FromFile("图片"); 
  总共8个PictureBox,初始化的时候8个都有图片显示,根据我的图片总数,可以点击下一页或上一页来重新给PictureBox赋值,但是每点击一次,就是重新给PictureBox背景图片换一次,内存就会多占用一点,直到最后报内存不足。这个问题该如何解决;

------解决方案--------------------
picBox_One.BackgroundImage 每赋值一次,都要把上一次的拉出来释放掉
C# code
if (picBox_One.BackgroundImage != null)
{
    picBox_One.BackgroundImage.Dispose();
}
picBox_One.BackgroundImage = Image.FromFile("图片");

------解决方案--------------------
picBox_One.BackgroundImage=null;
picBox_One.BackgroundImage = Image.FromFile("图片");
------解决方案--------------------
用双缓冲,不直接调用图像:“Winform,我给PictureBox 赋值 picBox_One.BackgroundImage = Image.FromFile("图片"); ”
改为:Bitmap a=new Bitmap ("图片");picBox_One.BackgroundImage=(Image)a;
调用第二张图片时:Bitmap b=new Bitmap("图片2");picBox_One.BackgroundImage=(Image)b;
a.Dispose();依次类推……