Я пытаюсь заполнить графическое окно списком из файла.

У меня есть следующий код (который отлично работает). Однако я хотел бы сохранить код и выполнить поиск в папке файла, который соответствует имени файла, выбранному из списка. Я пробовал несколько разных вещей, но пока еще недостаточно хорошо владею VB, чтобы это работало. Любая помощь будет принята с благодарностью.

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged

    If ListBox1.SelectedItem = "test1" Then
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
        PictureBox1.Image = Image.FromFile("c:Desktop\images\test1.jpg")


    Else 
    If ListBox1.SelectedItem = "test2" Then
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
        PictureBox1.Image = Image.FromFile("c:Desktop\images\test2.jpg")
    Else
        MessageBox.Show("No Such File")
    End If
    Open_Button.Visible = True
    Open_Label.Visible = True
    Open_List.Visible = True
End Sub
-1
Enigma04 26 Ноя 2016 в 21:22

2 ответа

Лучший ответ

У меня есть это! Спасибо, Марк, за помощь.

 Dim file = System.IO.Path.Combine("C:\desktop\etc\", ListBox1.SelectedItem) + ".jpg"
    If ListBox1.SelectedItem IsNot Nothing Then

        If System.IO.File.Exists(file) Then

            PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
            PictureBox1.Image = Image.FromFile(file)

        Else


            MessageBox.Show("No Image")
        End If
    End If
        Open_Button.Visible = True
        Open_Label.Visible = True
        Open_List.Visible = True
End Sub
0
Enigma04 28 Ноя 2016 в 16:40

Если имя элементов совпадает с именами ваших файлов, вы можете обработать все с помощью одного условия If / Else:

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    If ListBox1.SelectedItem IsNot Nothing Then
        Dim file = System.IO.Path.Combine("C:\YourPath\", ListBox1.SelectedItem) + ".jpg"
        If System.IO.File.Exist(file) Then
            PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
            PictureBox1.Image = Image.FromFile(file)
        Else
            MessageBox.Show("No Such File")
        End If
        Open_Button.Visible = True
        Open_Label.Visible = True
        Open_List.Visible = True
    End If
End Sub
1
Marc 29 Ноя 2016 в 06:37