Bild als embedded ressource auslesen

Wenn man eine Winformsapplikation als standalone File aufziehen will, muss man Bilder etc. als embedded ressourcen ins Projekt aufnehmen und zur Laufzeit aus dem Assembly auslesen. Folgender Code erledigt das:

System.Reflection.Assembly myAssembly;
myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream myfile = myAssembly.GetManifestResourceStream(

"myNamespace.mypic.gif");

Nun kann der Stream in eine Picturebox geleitet werden:

picturebox1.Image = Image.FromStream(myfile);

Wird anstelle eines Bildes ein Textfile ausgelesen, kann der Stream direkt in einen Streamreader geleitet werden. Wichtig ist hierbei jedoch die Ergänzung "System.Text.Encoding.Default", da ansonsten Umlaute falsch codiert werden und verschwinden. (Danke an Alex für den Tip)

StreamReader sr =

new StreamReader(myAssembly.GetManifestResourceStream("myNamespace.test.txt"),System.Text.Encoding.Default);

Print | posted @ Friday, July 02, 2004 7:38 AM