2011-12-20 16 views
0

我正在使用VB 2008 express來創建Windows窗體應用程序。我有一個名爲cb_face的組合框。組合框中的項目是使用「for each」循環從我的資源文件夾填充的圖像文件名稱。當選擇一個項目時,我想在picturebox1中顯示圖像。我嘗試了幾種不同的代碼,但沒有一個顯示圖像。我沒有收到任何錯誤。註釋行顯示了一些已經嘗試過的代碼。如何顯示來自Combobox.selecteditem的Picturebox.image

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Dim ImgFolder As New IO.DirectoryInfo("C:\Documents and Settings\ubd\My Documents\Visual Studio 2008\Projects\Blank Out\Blank Out\Resources") 
    Dim ImgFile As IO.FileInfo() = ImgFolder.GetFiles("*.bmp") 
    Dim info As IO.FileInfo 
    For Each info In ImgFile 
     Dim FaceName As String = IO.Path.GetFileNameWithoutExtension(info.FullName) 
     CB_Face.Items.Add(FaceName) 
    Next 
End Sub 

Private Sub CB_Face_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_Face.SelectedIndexChanged ', CB_Type.SelectedIndexChanged 

    If CB_Face.SelectedValue IsNot Nothing Then 
     'Load the image from the full file path 
     'PictureBox1.ImageLocation = CStr(CB_Face.SelectedItem.ToString) 
     'PictureBox1.Image = CB_Face.Items(CB_Face.SelectedItem).ItemData 
     'Dim pic = CType(My.Resources.ResourceManager.GetObject(CStr(CB_Face.SelectedItem)), Image) 
     'PictureBox1.Image = pic 
     'PictureBox1.Image = CB_Face.SelectedItem 
     PictureBox1.Image = Image.FromFile("C:\Documents and Settings\ubd\My Documents\Visual Studio 2008\Projects\Blank Out\Blank Out\Resources"(CB_Face.SelectedItem.ToString).ToString) 
     'PictureBox1.ImageLocation = CB_Face.SelectedItem(Name) 
     'Try 
     'PictureBox1.Image = Image.FromFile(CB_Face.SelectedItem.ToString) 
     'Catch ex As Exception 
     'End Try 
     'PictureBox1.Image = DirectCast(CB_Face.SelectedItem, Image) 
     'CType(CB_Face.SelectedItem, Image) 
    End If 
End Sub 

回答

1

如果您有:

PictureBox1.Image = Image.FromFile("C:\Documents and Settings\ubd\My Documents\Visual Studio 2008\Projects\Blank Out\Blank Out\Resources"(CB_Face.SelectedItem.ToString).ToString) 

改變,要更多的東西一樣:

PictureBox1.Image = Image.FromFile("C:\Documents and Settings\ubd\My Documents\Visual Studio 2008\Projects\Blank Out\Blank Out\Resources\" & (CB_Face.SelectedItem.ToString) & ".bmp") 

此假設基礎上的代碼的其餘部分,該文件是一個bmp,位於在該路徑其餘部分的Resources目錄中。

您需要使用&追加到您的目錄路徑字符串,然後重新進行添加以同樣的方式將文件擴展名。

+0

謝謝你的回答。它工作完美。 – UBel 2011-12-28 12:53:20