问题
I have this code:
Dim xx as image
xx = image.fromfile(Fileloc)
picturebox.image = xx
And i can't delete the file even though I've loaded it into a picture box. If I add this line:
xx.dispose
the picture box becomes a big red X.
I only want to delete the images when my application is closing (they are temp files). So shall I just dispose them before I delete them?
回答1:
Don't use Image.FromFile
, it keeps the file open.
From MSDN :
The file remains locked until the Image is disposed.
Do that instead :
Dim xx as Image
Using str As Stream = File.OpenRead(Fileloc)
xx = Image.FromStream(str)
End Using
picturebox.Image = xx
The file is closed after the image is loaded, so you can delete the file if you need to
来源:https://stackoverflow.com/questions/2079428/unable-to-delete-image-after-opening-it-in-vb-net-app