Entwickler-Ecke
Sonstiges (.NET) - Dateipfad überall nutzbar
P584 - Fr 17.02.12 13:14
Titel: Dateipfad überall nutzbar
Hallo. Ich habe in meinem Programm ein paar Bilderchen, die ich im Projekt-Ordner unter Resources abgelegt habe. Ich will erreichen, dass die Bilder korrekt angezeigt werden, auch wenn ich eines Tages mal den Projekt-Ordner auf einem anderen PC habe. Dies ist nicht gegeben, wenn ich den gesamten Dateipfad des Bildes angebe, also C:\\..., weil auf dem anderen PC der "Ordnerbaum" mit hoher Wahrscheinlichkeit anders ist. Wie kann ich also einen Pfad angeben, der den Projekt-Ordner direkt "anspricht"?
Es grüßt P.
Moderiert von
Th69: Topic aus C# - Die Sprache verschoben am Fr 17.02.2012 um 12:33
Th69 - Fr 17.02.12 13:41
Hallo,
verwende niemals direkt einen Pfad bezogen auf deine Projektstruktur, sondern immer bezogen auf das Ausgabeverzeichnis (meist "bin/Debug" bzw. "bin/Release").
Dazu stelle bei den Eigenschaften der Ressource-Dateien diese bei "Copy To Output Directory" auf "Copy if newer" (bei einem deutschen VS entsprechend ;-).
Nun kannst du von deinem Programm mittels
C#-Quelltext
1:
| string imagePath = Path.Combine(Application.StartupPath, "Resources", "Image1.jpg"); |
auf die einzelnen Ressourcen (Bilder) zugreifen.
P584 - Fr 17.02.12 13:55
Ich danke für die Antwort, auch wenn ich nicht ganz durchsteige...
Weder kann ich das "Copy To Output Directory"-Feld finden, noch weiß ich, wie ich genau den Code verwenden muss. :D
Bisher habe ich meine Bilder so eingebunden (sie werden in einer pictureBox angezeigt):
C#-Quelltext
1: 2:
| Bitmap bild1 = new Bitmap("C:\\Ordner\\bild.jpg"); pictureBox.Image = bild1; |
Wie genau muss ich das nun handhaben?
Th69 - Fr 17.02.12 16:19
Hallo,
du mußt die Ressourcen zu deinem Projekt hinzufügen ("Vorhandene Datei hinzufügen") und dort dann die Eigenschaften anpassen.
Wenn du statische Bilder hast, so kannst du diese auch direkt im Eigenschaftenfenster der PictureBox hinzufügen (über die Eigenschaft "Image") - und dann benötigst du das Bild nicht mehr extern auf der Platte (beim Ausliefern), da es in den internen Projektressourcen gespeichert wird.
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!