Benutzer mit den meisten Antworten
(VB 2008) Bestimmtes Bild aus Ordner anzeigen lassen

Frage
-
Guten Morgen.
Ich habe vor neben der fertigen *.exe noch einige Ordner mit Bildern mitzuliefern. Diese sollen je nach ComboBox eintrag abgerufen werden. Wie kann ich das bewerkstelligen?
Mit Texten geht das ganz gut,
If
ComboBox1.Text = "Kassettendeck (TA)" Then
ComboBox2.Items.Clear()
ComboBox2.Items.Add("TA-630 D")
ComboBox2.Items.Add("TA-2031")
......
End If
aber mit Bildern tue ich mich schwer. Ich habe zwar schon im www gesucht, aber meistens sind alle Beschreibungen nur auf englisch, und da klemmts bei mir.
...also bei einem bestimmten Text in der ComboBox soll ein bestimmtes Bild in der dazugehörigen PictureBox erscheinen. Vorgehabt hatte ich, einen Gesammtordner in dem die *.exe liegt und noch weitere 5 Ordner mit den Bildern.
Danke für die Antworten.
Computer sind großartig. Mit ihnen macht man die Fehler viel schneller.- Bearbeitet Golfi Donnerstag, 31. Dezember 2009 07:47
Antworten
-
Hallo Golfi,
wie bei den Texten machst Du eine Fallunterscheidung per If oder Select Cast.
Das Laden & Zuweisen eines Image zu einem PictureBox-Control erfolgt dann über
Me.PictureBox1.Image = Image.FromFile("C:\Beispiel.jpg")
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de- Als Antwort markiert Robert BreitenhoferModerator Montag, 4. Januar 2010 18:40
-
Danke für die Hilfen.
Ich habe
Me.PictureBox1.Image = Image.FromFile("C:\Beispiel.jpg")
genommen und werde die Programmdateien mittels Setup an einem von mir vorbestimmten Ort ablegen lassen. Das ist für mich die einfachste Variante.
Computer sind großartig. Mit ihnen macht man die Fehler viel schneller.- Als Antwort markiert Robert BreitenhoferModerator Montag, 4. Januar 2010 18:41
Alle Antworten
-
Hallo Golfi,
wie bei den Texten machst Du eine Fallunterscheidung per If oder Select Cast.
Das Laden & Zuweisen eines Image zu einem PictureBox-Control erfolgt dann über
Me.PictureBox1.Image = Image.FromFile("C:\Beispiel.jpg")
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de- Als Antwort markiert Robert BreitenhoferModerator Montag, 4. Januar 2010 18:40
-
Hallo Olaf Helper.
Wenn ich das richtig zu dieser Uhrzeit aufgefasst habe, müsste der Code lauten:
If ComboBox1.Text = "Text 1" Then Me.PictureBox1.Image = Image.FromFile("C:\Beispiel1.jpg") End if If ComboBox1.Text = "Text 2" Then Me.PictureBox1.Image = Image.FromFile("C:\Beispiel2.jpg") End if .......
Wenn ja, wie bewerkstellige ich dann den Pfad, wenn ich nicht weis, wo der Benutzer den ordner hinkopiert hat. Denn die Einteilung soll ja wie oben beschrieben sein. Also
Hauptordner
Programm.exe
Bildordner1
Bild1.jpg
Bild2.jpg
Bild3.jpg
Bildordner2
Bild1.jpg
Bild2.jpg
Computer sind großartig. Mit ihnen macht man die Fehler viel schneller. -
Dann sieh Dir mal die Application Klasse an, die liefert die entsprechenden Informationen zu Deiner Applikation zur Laufzeit, u.a. auch den Pfad, wo sie sich befindet:
Debug.Print(Application.StartupPath)
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de -
Hallo Golfi,
dann suchtst ab Hauptordner aller darunterliegenden Ordner ab
For Each foundFile In My.Computer.FileSystem.GetFiles("Hauptordner", FileIO.SearchOption.SearchAllSubDirectories, "*.jpg") If foudfile = "Beispiel1.jpg" Then Me.PictureBox1.Image = Image.FromFile("C:\Beispiel1.jpg") End If Next
- Bearbeitet Robert BreitenhoferModerator Montag, 4. Januar 2010 12:25 Code Formatierung
-
Also ich hab mal beides versucht, aber ich werde wohl zu dumm sein, das anzuwenden. Nichts hat funktioniert. Gab es nicht mal ein Zeichen, das den unbekannten Pfad beschreibt? Ich glaube das % Zeichen war es, bin mir aber nicht mehr sicher, wie genau es eingesetzt wird, also ob mit / oder mit \ . Wenn ich es noch recht in Erinnerung habe, wird das bei der Laufwerkssuche angewendet, oder so ähnlich.
Computer sind großartig. Mit ihnen macht man die Fehler viel schneller. -
Wenn du davon ausgehst, das der Benutzer den Ordner verschiebt !
Was eigentlich keinen Sinn macht wenn der User die Struktur eines Programms verändert.
Dann solltest du den "fileHelper von Elmar Boye" verwenden. Den wird du hier im Forum finden.
Mit dem kannst du die Platte recursive nach einzelnen oder mehreren Dateien durchsuchen.
Wenn es sich aber wiklich nur darum handelt, das du nicht weist wo der User dein Programm hinlegt dann solltest du mit den oben genannten Beispielen klar kommen.
Alos zuerst den Application.StartupPath ermitteln und dann die Routine
For Each foundFile In My.Computer.FileSystem.GetFiles _ (Application.StartupPath,FileIO.SearchOption.SearchAllSubDirectories, "*.jpg")
If foundFile = "Beispiel1.jpg" Then
Me.PictureBox1.Image = Image.FromFile("C:\Beispiel1.jpg")
End If
Next -
Danke für die Hilfen.
Ich habe
Me.PictureBox1.Image = Image.FromFile("C:\Beispiel.jpg")
genommen und werde die Programmdateien mittels Setup an einem von mir vorbestimmten Ort ablegen lassen. Das ist für mich die einfachste Variante.
Computer sind großartig. Mit ihnen macht man die Fehler viel schneller.- Als Antwort markiert Robert BreitenhoferModerator Montag, 4. Januar 2010 18:41