Entwickler-Ecke
Multimedia / Grafik - Picture Box Pfad neu definieren?!
ElJarno - Do 05.03.09 12:11
Titel: Picture Box Pfad neu definieren?!
Hi leute,
ich wollte in meinem Program ein lokales Bild in die PicturBox laden dies Klappt auch soweit. Mein Problem ist jedoch dass die Bilder in dem bin/debug Pfad vom Projekt liegen müsen
(D:\Documents and Settings\szmgyx.EMEA\My Documents\Visual Studio 2008\Projects\SchaltGatter\SchaltGatter\bin\Debug\Pictures\Buttons\blitz blau.png")
wenn ich diesen Code verwende
C#-Quelltext
1: 2: 3: 4: 5: 6:
| pb_eingang_a.Load("Pictures/Buttons/blitz blau.png");
oder so
Image img_a = Image.FromFile(Application.StartupPath + "\\Pictures\\Buttons\\blitz blau.png"); pb_eingang_a.Image = img_a; |
Ich habe aber die Bilder eigentlich in diesem Pfad liegen:
(D:\Documents and Settings\szmgyx.EMEA\My Documents\Visual Studio 2008\Projects\SchaltGatter\Pictures\Buttons)
finde ich Persönlich übersichtlicher.
Also erstens gibt es nun eine Möglichkeit auf diesen Pfad zu verweisen ohne jetzt den kompletten Pfad eingeben zu müssen da ich das Projekt ja später auf einen Stick ziehe und somit der absolute Pfad nicht mehr stimmt.
Oder wie ist es generel speichert man normalerweise alle externen lokalen zuätzlichen Datein in den bin/debug pfad bzw. wie macht es C# wenn man das Bild in der PictureBox fest auswählt?
Vielen Dank jetzt schon mal.
mfg Jan
Th69 - Do 05.03.09 13:21
Wenn die Bilder von extern nicht austauschbar sein müssen bzw. dürfen, so lege die Bilder am besten als Ressource (resources.resx) ab.
Wenn das Bild statisch ist (also während der Laufzeit nicht geändert wird), so kannst du es auch gleich mit dem Designer der Eigenschaft PictureBox.Image zuweisen (auch dann wird es intern als Resource abgelegt).
Solltest du dennoch die Bilder extern ablegen wollen, so mußt du bedenken, daß dein Deploy-Verzeichnis ja das Verzeichnis 'bin/Debug' ist, d.h. alle Pfade sollten relativ zu diesem sein (du willst ja schließlich nicht dein gesamtes Projekt-Verzeichnis auf dem USB-Stick ziehen müssen, um dein Programm zu starten).
Application.StartUpPath ist daher schon mal generell richtig. Sollten deine Bilder dennoch in übergeordneten Verzeichnisse liegen, so kannst du ja auch mit ".." navigieren, z.B. Path.Combine(Application.StartupPath, "..\\..\\..\\Pictures\\Buttons\\blitz blau.png").
JüTho - Do 05.03.09 13:47
... und es gibt außerdem noch Environment.GetFolderPath mit SpecialFolder.CommonApplicationData, das vielleicht dem von Dir genannten Verzeichnis unter "Dokumente und Einstellungen" entspricht.
Gruß Jürgen
Kha - Do 05.03.09 17:00
ElJarno hat folgendes geschrieben : |
Oder wie ist es generel speichert man normalerweise alle externen lokalen zuätzlichen Datein in den bin/debug pfad |
Jain. Du speicherst sie im Projektordner und stellst dann "Copy to Output Directory" in den Eigenschaften der Datei jeweils auf "Copy alwas/if newer", damit sie in das richtige bin-Verzeichnis kopiert werden. Eine andere Lösung wären die angesprochenen Ressourcen-Dateien.
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!