Lösungsansatz
Hi,
Ok, aber wie kann ich mehrer Bilder einbinden? Entweder nicht
nur für das Background Image, oder um verschiedene
Backgroundimages verwenden zu können?
Eine Möglichkeit wäre folgende.
Lege einen Ordner an mit deinen Bildern.
Als Eigenschaft „Buildvorgang“ - „Eingetettete Ressource“
Und im Code …
Assembly ass = Assembly.GetExecutingAssembly();
string[] tmp = ass.GetManifestResourceNames();
foreach (string pp in tmp)
{
//auf Namen, Ordner oder Dateiendung untersuchen
if (pp.EndsWith(„jpg“))
{
Stream stream = ass.GetManifestResourceStream(pp);
Image bmp = Image.FromStream(stream);
//zum Beispiel
this.BackgroundImage = bmp;
}
}
Könntest du auf ein Load Event machen und dann alle Bilder in eine Arraylist oder so speichern.
Dann hättest du sie in der Anwendung zur Verfügung.
Eine Andere Möglichkeit wäre eine eigene Assembly mit nur den Bildern drin zu machen.
Assembly dann einbinden und in deiner Anwendung statt
Assembly ass = Assembly.GetExecutingAssembly();
einfach
Assembly ass = Assembly.GetAssembly(…);
nehmen.
Der Rest bleibt gleich.
Dann könntest du Bilder tauschen oder ersetzen ohne deine Anwendung neu zu kompilieren.
Du müßtest nur die Bildassembly ändern und neu bilden.
Hoffe das die Tipps dir geholfen haben.
mfg
Martin