невозможно открыть изображение после открытия его в приложении vb.net - PullRequest
6 голосов
/ 17 января 2010

У меня есть этот код:

Dim xx as image
xx = image.fromfile(Fileloc)
picturebox.image = xx

И я не могу удалить файл, даже если я загрузил его в графический ящик. Если я добавлю эту строку:

xx.dispose

изображение коробки становится большой красный X.

Я хочу удалять изображения только когда мое приложение закрывается (это временные файлы). Так я должен просто избавиться от них, прежде чем удалить их?

1 Ответ

13 голосов
/ 17 января 2010

Не используйте Image.FromFile, файл остается открытым.

От MSDN :

Файл остается заблокированным, пока изображение не будет удалено.

Сделайте это вместо:

Dim xx as Image
Using str As Stream = File.OpenRead(Fileloc)
    xx = Image.FromStream(str)
End Using
picturebox.Image = xx

Файл закрывается после загрузки изображения, поэтому вы можете удалить файл, если вам нужно

...