2010-01-16 41 views
6

打開它後刪除圖像我有這樣的代碼:無法在vb.net應用

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

,我無法刪除,即使我裝成一個圖片框的文件。如果我加入這一行:

xx.dispose 

圖片框變爲一個紅色的大X.

我只希望當我的應用程序被關閉(它們是臨時文件)刪除的影像。那麼我應該在刪除它們之前處理它們?

+0

是,處理他們在刪除之前。這將釋放文件上的鎖定。 – 2010-01-17 01:07:35

+0

xx.Image.Dispose() – 2010-10-12 02:48:05

回答

12

不要使用Image.FromFile,它會保持文件打開。

From MSDN

直到圖像被設置在文件保持鎖定。

做的是不是:圖像加載後

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

文件被關閉,這樣你就可以刪除該文件,如果你需要

+0

這沒有幫助,它仍然與相同的文件相關聯。 – 2010-01-17 01:06:36

+0

不,它不是...圖像僅與流在使用塊結束時關閉。它甚至不知道文件名......我已經使用了這種技術一段時間,我確信它可以正常工作。 – 2010-01-17 03:05:01

+0

也許str.Close() – 2010-01-17 15:22:11