C#的Form中,先用pictureBox显示一张图片,然后用File.delete图片,报错.手动到删除说文件正在共享中,请问要怎么释放这个图片的引用???

解决方案 »

  1.   

    看你如何打开的,你需要如下进行打开:
    FileStream fs = new FileStream( yourFileName, FileMode.Open );
    pictureBox1.Image = Image.FromStream( fs );
    fs.Close();//Delete file
    File.Delete( yourFileName );
      

  2.   

    那是因为C#不是c++,Dispose回收内存不是立刻释放的,必须要强制进行垃圾回收
    image.Dispose();
    int gen = System.GC.GetGeneration(image);
    System.GC.Collect(gen);
    这个问题我也是想了很长时间才弄明白的,祝你好运
      

  3.   

    Image img =PictureBox1.Image
    PictureBox1.Image=null;
    img.Dispose(); //会将基础流关闭