Autor Beitrag
P584
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Fr 17.02.12 13:14 
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 user profile iconTh69: Topic aus C# - Die Sprache verschoben am Fr 17.02.2012 um 12:33
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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
ausblenden C#-Quelltext
1:
string imagePath = Path.Combine(Application.StartupPath, "Resources""Image1.jpg"); // bei .NET < 4.0 mußt du zwei Path.Combine-Aufrufe dafür verwenden					

auf die einzelnen Ressourcen (Bilder) zugreifen.
P584 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: 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):

ausblenden C#-Quelltext
1:
2:
Bitmap bild1 = new Bitmap("C:\\Ordner\\bild.jpg");
            pictureBox.Image = bild1;


Wie genau muss ich das nun handhaben?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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.