Как отобразить Picturebox.image из Combobox.selecteditem - PullRequest
0 голосов
/ 20 декабря 2011

Я использую VB 2008 Express для создания приложения Windows Form.У меня есть выпадающий список с именем cb_face.Элементы в выпадающем списке - это имена файлов изображений, заполняемые из моей папки ресурсов с помощью цикла «для каждого».Когда элемент выбран, я хотел бы отобразить изображение в picturebox1.Я пробовал несколько разных кодов, но ни один из них не отображает изображение.Я не получаю никаких ошибок.Строки комментария показывают часть кода, который был опробован.

    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 Ответ

1 голос
/ 20 декабря 2011

Где у вас есть:

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 и расположенв каталоге ресурсов оставшейся части этого пути.

Вам необходимо использовать &, чтобы добавить строку пути к каталогу и затем таким же способом прочитать расширение файла.

...