内存不足列表框图片查看器

时间:2010-10-15 17:27:46

标签: c#

当我点击一个空的位图图像时,嘿内存问题。

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {



        //if (pictureBox1.Image != null)
        //   try
        //   {
                pictureBox1.Image = System.Drawing.Image.FromFile("C:/folder/" + listBox1.SelectedItem.ToString());

        //}

       //catch (NullReferenceException)
       //{

       //    MessageBox.Show("The image box is empty!");
       //}

    }

我试过尝试捕捉没有工作。任何帮助都会非常感谢。

1 个答案:

答案 0 :(得分:3)

没有“空位图”这样的东西。您可能有一个只包含黑色或白色像素的位图。它需要的内存与拥有相同大小的照片的内存一样多。并且当它很大时能够生成OOM异常。

或者因为你忘了丢弃旧的几次而点击了几次:

  if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
  pictureBox1.Image = null;
  pictureBox1.Image = System.Drawing.Image.FromFile(...);

图像文件格式也可能有问题,可能是GDI +不支持的格式。不幸的是,这也产生了OOM。如果相关:请勿尝试加载.txt文件。