Entwickler-Ecke
Sonstiges (.NET) - Dateien auslesen und Bilder parallel anzeigen
tobias.t - Fr 09.01.09 15:12
Titel: Dateien auslesen und Bilder parallel anzeigen
Guten nachmittag erstma,
Also mein erster Post hier, hoffe dass ihr mir da weiterhelfen könnt.
ich habe ein programm geschrieben, welches dateien von einem verzeichnis ausliest. für jede datei die gefunden wird, soll auf der form ein bild angezeigt werden. das habe ich versucht mit:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| int counter = 0; foreach (string fileName in System.IO.Directory.GetFiles("ordner")) { PictureBox pb = new PictureBox(); pb.Click += new System.EventHandler(picturebox_click_event); pb.Text="Nummer: "+counter.ToString(); pb.Height=100; pb.Width=100; pb.Top = 1+counter; pb.Left = 1; pb.Image=Image.FromFile("icon.jpg"); this.Controls.Add(pb); counter += 50; } |
Nun es existieren 3 dateien in dem verzeichnis, aber er zeichnet leider nur 1 bild.
ich bin die schleife durchgegangen, die wird aber schon 3x ausgeführt.
kann es sein dass er die bilder überschreibt?
wisst ihr dazu mehr?
Moderiert von
Kha: Code- durch C#-Tags ersetztModeriert von
Christian S.: Topic aus C# - Die Sprache verschoben am Fr 09.01.2009 um 15:22
Greenberet - Fr 09.01.09 15:16
naja du gehst zwar die schleife für jede datei durch, aber schau dir mal in deinem post die zeile 11 genau an.
Da liegt der Hund begraben ;)
tobias.t - Fr 09.01.09 15:29
Ich sehe hier nur dass ich icon.jpg lade.
was auch korrekt ist, denn es sollte iegentlich für jede datei icon.jpg angezeigt werden...
oder verstehe ich jetzt was falsch?
tobias.t - Fr 09.01.09 15:50
ähm habe jetzt mal 2 verschiedene bilder reingemacht und die geladen...
das funktioniert.
warum kann er das selbe bild nicht 2x anzeigen?
muss ich erst irgendwie "freigeben"?
ich würde nämlich gerne das selbe bild angezeigt haben... danke
JüTho - Fr 09.01.09 17:23
Hallo und noch :welcome:
tobias.t hat folgendes geschrieben : |
warum kann er das selbe bild nicht 2x anzeigen?
muss ich erst irgendwie "freigeben"? |
So ist es. Wenn Du schon selbst die richtige Idee hast, kannst Du das auch selbst in der
SDK-Doku/MSDN nachlesen:
Zitat: |
Image.FromFile-Methode (String)
Hinweise: Die Datei bleibt gesperrt, bis Image freigegeben wird. |
tobias.t hat folgendes geschrieben : |
ich würde nämlich gerne das selbe bild angezeigt haben... danke |
Eine Möglichkeit wäre, die Datei temporär zu speichern und von dort aus zu laden.
Ich glaube, ich habe schon einmal von einer anderen "direkten" Lösung gelesen, erinnere mich aber nicht genauer. Jürgen
Ralf Jansen - Fr 09.01.09 18:18
Wenn du eh immer das selbe Bild anzeigen willst wieso erzeugt du dann jedesmal eine neue Image Instanz?
Erzeuge das Image nur einmal vor der Schleife und weise dieses dann den verschiedenen Pictureboxen zu.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!