VB.net - Picturebox Klick -> Bilder aus Ordner durchblättern?
Hallo,
folgendes Problem:
Ich habe eine Picturebox und möchte,dass bei jedem Klick auf diese das Bild geändert wird (aus bestimmten Ordner). Kriege es aber irgendwie nicht hin..
Es sind immer ca. 15 Bilder in dem Ordner (jpg & png)
Kann man den Ordner der Reihe nach durchgehen?
Vielen Dank im Voraus!
2 Antworten
Ich glaube nicht.
Am einfachsten wäre es wohl, bei der Initialisierung einen Array mit den Pfaden eines jeden Bilds (als String) zu erstellen und dann bei jedem Click-Event einen Index weiter zu gehen.
Dann müsstest du noch z.B. abfangen, was passiert, wenn zwischenzeitlich eine Datei gelöscht wird (sonst unbehandelte Ausnahme) etc.
Die Antwort von glasair ist FALSCH!
Erstelle eine neue Form.
Platziere darauf
- Button1
- TextBox1
- ListBox1
- FolderBrowserDialog1
- PictureBox1
Hier der Code:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
With FolderBrowserDialog1()
Dim ant As DialogResult = .ShowDialog
ListBox1.Items.Clear()
TextBox1.Text = .SelectedPath
ListBox1.Items.AddRange(FileList(TextBox1.Text))
End With
End Sub
Function FileList(ByVal Path As String) As String()
Dim F() As String
F = IO.Directory.GetFiles(Path)
Return F
End Function
Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
PictureBox1.Load(ListBox1.SelectedItem)
End Sub
Viel Spaß!
Gruß
Horst

Vielen Dank, aber geht noch kürzer:
- Dim CurrentPictureIndex As Integer = 0
- Dim fzgbilder() As String = IO.Directory.GetFiles("C:\Users\XXX\Desktop\Neuer Ordner\", "*.jpg", IO.SearchOption.TopDirectoryOnly)
- Dim jpg As New Bitmap(fzgbilder(fzgbilder.Count - 1))
- Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
- CurrentPictureIndex = (CurrentPictureIndex + 1) Mod fzgbilder.Count()
- PictureBox1.ImageLocation = fzgbilder(CurrentPictureIndex)
- PictureBox1.Image = jpg
- End Sub
So ähnlich habe ich dies auch gelöst. Habe noch einen Timer für automatischen Wechsel einer einstellbaren Zeit spendiert. Dia Show Funktion.