Ein Hintergrundbild für seine Form lässt sich wie folgt aus einer eingebetteten Ressource laden:
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
ResourceManager rm = new ResourceManager("MyApp.Library.Graphics.ResourceFile", this.GetType().Assembly);
e.Graphics.DrawImage((Bitmap)rm.GetObject("MyImage"), 0, 0);
}
Wichtig ist dabei, dass der vollständige Pfad inkl. Namen der Applikation angegeben wird. "Library.Graphics" ist in diesem Fall eine Ordnerstruktur innerhalb des Projektes, "ResourceFile" ist das .resx-File. "MyImage" bezeichnet die Datei in der Resource, wie sie auch im Ressourcen-Editor von Visual Studio zu sehen ist, ohne Dateiendung.
Eine Übersicht über alle Resourcen im Projekt bekommt man übrigens am besten so:
foreach (string bla in Assembly.GetExecutingAssembly().GetManifestResourceNames())
{
listBox1.Items.Add(bla);
}
Das setzt natürlich voraus, dass es eine Listbox namens listBox1 in der Form gibt. Angezeigt bekommt man den vollständigen Namen inkl. Pfad zur Ressource.