【发布时间】:2011-05-11 08:56:14
【问题描述】:
我希望在 PictureBox 中显示图像,从文件加载图像。该文件会定期被覆盖,所以我不能保持文件锁定。我是这样开始的:
pictureBox.Image = Image.FromFile( fileName );
但是,这会使文件保持锁定状态。然后我尝试通读一个流:
using (System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
pictureBox.Image = Image.FromStream(fs);
}
这不会锁定文件,但确实会导致稍后抛出异常; MSDN 指出流必须在图像的生命周期内保持打开状态。 (例外情况包括“可能无法读取已关闭的文件”或类似消息。)
如何从文件加载图像,然后不再引用该文件?
【问题讨论】: