15/10/15 6:55
Thejuster
Lupetto, principalmente siamo qui per tentar di far capire dove si sbaglia
e non per dare a chi chiede codice pronto come una libreria.
Darkjuster ti ha dato un ottimo consiglio
Come me, che ti ho scritto il codice corretto.
questo qui.
E' completamente inutile.
perché il condizionale sopra, effettua già la verifica.
Se l'oggetto preso in considerazione è una Picturebox,
al controllo và assegnata l'immagine di background dalla ImageList.
invece sotto hai ripetuto la stessa funzione fatta dal condizionale.
Vuoi sapere cosa c'è di differente questo codice dal mio?
Questo frammento è completamente identico a quest'altro
Per cui mi sembra una baggianata scusami...
Che quello funziona e questo no. Impossibile. Il procedimento è lo stesso, cambia il metodo di stesura.
Quello sopra, agisce trovando il nome esatto del controllo
Quello sotto, agisce in ordine partendo dal primo controllo trovato.
entrambi assegnano a tutte le picturebox l'immagine di background.
Fossi in tè, eviterei di usare una ImageList per queste operazioni.
Ma utilizzerei meglio una Lista di Immagini. cosa molto diversa.
Personalmente, userei questo metodo per diversi motivi.
1) Una imageList ha delle misure obbligate per ogni immagine
2) Una imageList supporta una qualità grafica più bassa
3) Le imageList vengono associate a dei controlli e non usate come semplici liste.
Ti posso garantire che ti sto dando consigli preziosi.
Poi, ovviamente ognuno agisce a suo modo.
e non per dare a chi chiede codice pronto come una libreria.
Darkjuster ti ha dato un ottimo consiglio
Come me, che ti ho scritto il codice corretto.
questo qui.
int conta = 0; for (int i = panel1.Controls.Count - 1; i >= 0; i--) { if (panel1.Controls[i].GetType() == typeof(PictureBox)) { //---> panel1.Controls["pictureBox" + (2 + conta).ToString()].BackgroundImage = imageList1.Images[conta]; conta++; } }
E' completamente inutile.
perché il condizionale sopra, effettua già la verifica.
Se l'oggetto preso in considerazione è una Picturebox,
al controllo và assegnata l'immagine di background dalla ImageList.
invece sotto hai ripetuto la stessa funzione fatta dal condizionale.
Vuoi sapere cosa c'è di differente questo codice dal mio?
panel1.Controls["pictureBox" + (2 + conta).ToString()] (diventa = pictureBox2.BackgroundImage = Imagelist[2];
Questo frammento è completamente identico a quest'altro
panel1.Controls[i].BackgroundImage = imageList1.Images[conta + 2];
Per cui mi sembra una baggianata scusami...
Che quello funziona e questo no. Impossibile. Il procedimento è lo stesso, cambia il metodo di stesura.
Quello sopra, agisce trovando il nome esatto del controllo
Quello sotto, agisce in ordine partendo dal primo controllo trovato.
entrambi assegnano a tutte le picturebox l'immagine di background.
Fossi in tè, eviterei di usare una ImageList per queste operazioni.
Ma utilizzerei meglio una Lista di Immagini. cosa molto diversa.
List<Image> immagini = new List<Image>(); //ToDO //Ciclo per aggiungere le risorse //Oppure manualmente int conta = 0; for (int i = panel1.Controls.Count - 1; i >= 0; i--) { if (panel1.Controls[i].GetType() == typeof(PictureBox)) { panel1.Controls[i].BackgroundImage = immagini[conta]; conta++; } }
Personalmente, userei questo metodo per diversi motivi.
1) Una imageList ha delle misure obbligate per ogni immagine
2) Una imageList supporta una qualità grafica più bassa
3) Le imageList vengono associate a dei controlli e non usate come semplici liste.
Ti posso garantire che ti sto dando consigli preziosi.
Poi, ovviamente ognuno agisce a suo modo.
Ultima modifica effettuata da Thejuster 15/10/15 6:56
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer