У меня есть этот код:
Dim xx as image
xx = image.fromfile(Fileloc)
picturebox.image = xx
И я не могу удалить файл даже при том, что я загрузил его в поле изображения. Если я добавляю эту строку:
xx.dispose
поле изображения становится большим красным X.
Я только хочу удалить изображения, когда мое приложение закрывается (они - временные файлы). Таким образом, я просто расположу их, прежде чем я удалю их?
Не используйте Image.FromFile
, он держит файл открытым.
Из MSDN :
Файл остается заблокированным до тех пор, пока изображение не будет утилизировано.
Сделайте это вместо :
Dim xx as Image
Using str As Stream = File.OpenRead(Fileloc)
xx = Image.FromStream(str)
End Using
picturebox.Image = xx
Файл закрывается после загрузки изображения, поэтому файл можно удалить, если нужно
.