Nelle WinForms di .NET, se inseriamo un'icona nelle risorse di sistema e dobbiamo usare l'immagine al suo interno come icona di una form siamo abituati a utilizzare questo comando:
Form.Icon = Properties.Resources.NomeIcona;
Se invece volessimo leggere le bitmap dentro all'icona nelle varie dimensioni per utilizzarle, il metodo è semplice ma per trovarlo ho dovuto spulciare MSDN e rileggermi tutto Petzold prima di scoprirlo, pertanto lo posto sperando di far cosa gradita a chi avesse la stessa necessità:
Icon icon16 = new Icon(Properties.Resources.testmulti, new Size(16,16));
Icon icon24 = new Icon(Properties.Resources.testmulti, new Size(24,24));
Icon icon32 = new Icon(Properties.Resources.testmulti, new Size(32, 32));
Icon icon48 = new Icon(Properties.Resources.testmulti, new Size(48, 48));
Icon icon64 = new Icon(Properties.Resources.testmulti, new Size(64, 64));
Icon icon96 = new Icon(Properties.Resources.testmulti, new Size(96, 96));
this.pcx16.Image = Bitmap.FromHicon(icon16.Handle);
this.pcx24.Image = Bitmap.FromHicon(icon24.Handle);
this.pcx32.Image = Bitmap.FromHicon(icon32.Handle);
this.pcx48.Image = Bitmap.FromHicon(icon48.Handle);
this.pcx64.Image = Bitmap.FromHicon(icon64.Handle);
this.pcx96.Image = Bitmap.FromHicon(icon96.Handle);
Mettendo queste righe nel load della mia form, ed inserendo ovviamente le 6 picturebox ottengo questo artistico risultato:
Ovviamente ho predisposto l'icona con le varie immagini prima di fare la prova.
Tags: icone, bitmap,classi