Press "Enter" to skip to content

Leggere l’icona con una specifica dimensione in una Risorsa

Leggere l’icona con una specifica dimensione in una Risorsa CAT: C#, Tips, WinForms TAGS: C#, classi, Csharp, GDI+, helper, icone,Bitmap Date: 21/01/2008

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:

right_image_icon_01

Ovviamente ho predisposto l’icona con le varie immagini prima di fare la prova.

Il codice a corredo può essere scaricato dal link qui sotto.