2016-01-24 199 views
2

我目前遇到我的程序出現問題。我想爲我的女朋友創建一個照片庫,她可以在她的電腦上安裝。我想從Form加載的文件夾中導入圖像並將它們顯示在PictureBox中。從文件夾中加載圖像[VB.NET]

當我加載表單時,我得到一個大紅色的'X',填滿了框。看起來像drawing.bitmap ErrorImage。可能是什麼問題呢?任何幫助是極大的讚賞。謝謝。

Private Sub Pigge_Gallary_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Dim directory As New IO.DirectoryInfo("C:\Pics\Bears") 
    If directory.Exists Then 
     Dim jpgFiles() As IO.FileInfo = directory.GetFiles("*.jpg") 
     For Each jpgFile As IO.FileInfo In jpgFiles 
      If jpgFile.Exists Then 
       Dim image = Drawing.Image.FromFile(jpgFile.FullName) 
       Using image 
        PicPig.Image = image 
       End Using 
      End If 
     Next 
    End If 
End Sub 
+0

像這樣遍歷列表只會顯示最後一張圖片,所以整個循環都是毫無意義的。此外,你正在加載後立即處理圖像,正如Chase Rocker在他的回答中指出的那樣。 – Jens

回答

3

一旦您退出Using塊,就會丟失圖像參考。

嘗試改變

PicPig.Image = image 

PicPig.Image = image.clone 

,或只是將其設置爲從文件中的圖像:

PicPig.Image = Drawing.Image.FromFile(jpgFile.FullName) 

而且,因爲你這樣做是在爲循環,它只是在循環時替換picturebox圖像。當它完成循環時,圖片框將只顯示最後一張圖片。

相關問題