嗨我有winform,我用它来显示图像(我加载到图片框,我在运行时创建这个图片框)
当我选择任何一个图像并将其删除时(我想从文件夹中删除它)但是当我删除时出现问题: File.Delete(path_OF_Image);
C#给我的消息无法删除此文件,因为有进程使用此文件。
但是我处理了所有的图片框或容器(都有我的照片框)
但问题仍然存在。
答案 0 :(得分:8)
我猜你正在使用文件名直接加载图像(即Image.FromFile);这可能是有问题的,因为.NET挂在GDI +库使用的资源上,因此我建议首先加载文件字节,然后以这种方式初始化图像。例如:
byte[] imageBytes = File.ReadAllBytes(fileName);
Image image;
using (MemoryStream ms = new MemoryStream(imageBytes))
{
image = Image.FromStream(ms);
}
答案 1 :(得分:0)
之前,删除图像尝试将PictureBox设置为空,然后删除,或者制作一个tmp,只是为了在删除操作之前看到图像。
见到你
答案 2 :(得分:0)
这里的问题是:文件仍处于打开状态,必须先将其关闭才能删除它。