не мог удалить изображение после открытия его в приложении vb.net

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

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

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

xx.dispose

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

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

6
задан Jonathan. 16 January 2010 в 23:53
поделиться

1 ответ

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

Из MSDN :

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

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

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

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

.
13
ответ дан 8 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: