Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Inserire le immagini nelle picturesBox
Forum - C# / VB.NET - Inserire le immagini nelle picturesBox - Pagina 6

Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo
Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 17:20
Mercoledì, 16/03/2016
Ciao Thejuster e grazie per l'aiuto.

Ho provato come mi hai consigliato tu, però all'avvio mostra questa eccezzione:

Eccezione non gestita di tipo 'System.ArgumentOutOfRangeException' in mscorlib.dll

Ulteriori informazioni: Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione della raccolta.

Ma è strano perchè non cambia quasi nulla da prima, quindi non so il perchè va fuori range, posto il codice dell'evento load che mostra questo problema:

Codice sorgente - presumibilmente C++

  1. [CODE]    public partial class Form1 : Form
  2.     {
  3.         List<_Immagini> Immagine = null;
  4.  
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.         }
  9.  
  10.         private void Form1_Load(object sender, EventArgs e)
  11.         {
  12.             Immagine = new List<_Immagini>();
  13.             _Immagini img = new _Immagini();
  14.             img.img = Properties.Resources.A;
  15.             img.riferimento = "Lettera A";
  16.             img.img = Properties.Resources.B;
  17.             img.riferimento = "Lettera B";
  18.             img.img = Properties.Resources.C;
  19.             img.riferimento = "Lettera C";
  20.             img.img = Properties.Resources.D;
  21.             img.riferimento = "Lettera D";
  22.             img.img = Properties.Resources.E;
  23.             img.riferimento = "Lettera E";
  24.             img.img = Properties.Resources.F;
  25.             img.riferimento = "Lettera F";
  26.             img.img = Properties.Resources.G;
  27.             img.riferimento = "Lettera G";
  28.             img.img = Properties.Resources.H;
  29.             img.riferimento = "Lettera H";
  30.             img.img = Properties.Resources.I;
  31.             img.riferimento = "Lettera I";
  32.             img.img = Properties.Resources.L;
  33.             img.riferimento = "Lettera L";
  34.  
  35.             Immagine.Add(img);
  36.  
  37.             int conta = 0;
  38.             for (int i = Controls.Count - 1; i >= 0; i--)
  39.             {
  40.                 if (Controls[i].GetType() == typeof(PictureBox))
  41.                 {
  42.                     //Così
  43.                     Controls[i].BackgroundImage = Immagine[conta].img; // In questa riga mostra l'eccezzione
  44.                     Controls[i].Tag = Immagine[conta].riferimento;
  45.                     conta++;
  46.                 }
  47.             }
  48.         }
  49.     }[/CODE]


PM Quote
Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 17:44
Mercoledì, 16/03/2016
Scusa mi sono accorto ora del problema, (usando il debug consigliato da TheDarkJuster che ringrazio anche lui per i suoi consigli) dovevo aggiungere Immagine.Add(img); ad ogni coppia img - riferimento.

Dovrei aver risolto il tutto, grazie di nuovo per l'aiuto e dritte, alla prossima. ;)

Ultima modifica effettuata da lupetto77 il 16/03/2016 alle 17:49
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 19:14
Mercoledì, 16/03/2016
come fa a funzionarti??

è sbagliato il codice.

Ad ogni setting và aggiunto alla lista

così:

Codice sorgente - presumibilmente Plain Text

  1. img.img = Properties.Resources.A;
  2.  img.riferimento = "Lettera A";
  3.  Immagine.Add(img);
  4.  
  5.  img.img = Properties.Resources.B;
  6.  img.riferimento = "Lettera B";
  7.  Immagine.Add(img);



ogni volta che configuri la struttura devi aggiungerla alla lista.
altrimenti come nel tuo esempio ti ritrovi un solo elemento ovvero "Lettera L"


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 22:29
Mercoledì, 16/03/2016
Ciao di nuovo Thejuster

Infatti nella prova iniziale mi mostrava l'eccezione, e nel debug ho visto che prendeva solo l'ultimo elemento Lettera L.

Ho scritto nel post subito sotto, in questa riga:
anche lui per i suoi consigli) dovevo aggiungere Immagine.Add(img); ad ogni coppia img - riferimento.

Scusami, forse era meglio che scrivevo come hai fatto tu, con un pezzo di codice.

PM Quote
Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo