Cricare immagini random in picturebox.

giovedì 02 gennaio 2014 - 12.14

Geronimo79 Profilo | Junior Member

Ciao a tutti gli amici di Dotnethell e buon anno a tutti!!!!
Ho un form con un imagelist contenente 20 immagini jpeg e 20 picturebox già posizionate sul form stesso. Vorrei caricare a "random" ogni immagine in ogni picturebox. Il codice sottostante mi carica la stessa immagine in ogni picturebox ma le vorrei ovviamente tutte diverse.
Grazie a tutti.

Dim intPic As Integer Dim rand As New Random intPic = rand.Next(0, ImageList1.Images.Count) For i As Integer = 1 To 20 Dim pictBox As PictureBox = DirectCast(Me.Controls("pictureBox" & i), PictureBox) pictBox.Image = ImageList1.Images(intPic) Next

Gho5t Profilo | Junior Member

Ciao e buon anno anche a te...
il problema dovrebbe essere che tu scegli il numero casuale fuori dal ciclo for, quindi l'immagine scelta è sempre la stessa... prova a mettere il rand.Next all'interno del for e dovrebbe funzionare...


Dim intPic As Integer Dim rand As New Random For i As Integer = 1 To 20 intPic = rand.Next(0, ImageList1.Images.Count) Dim pictBox As PictureBox = DirectCast(Me.Controls("pictureBox" & i), PictureBox) pictBox.Image = ImageList1.Images(intPic) Next

Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

Geronimo79 Profilo | Junior Member

Ciao grazie della risposta....Funzionicchia!!!! Nel senso che alcune immagini sono comunque duplicate......ovviamente mi occorrono tutte e 20 diverse per ogni picturebox...

Gho5t Profilo | Junior Member

Ciao,
questo è un altro tipo di problema... perché la funzione rand.Next ti da un numero random che a volte può essere lo stesso del numero precedente o di due numeri prima (la funzione rand.Next non tiene conto dei numeri usciti in precedenza)...
dovresti salvarti in un array tutti i numeri usciti e poi fare la verifica se il numero che ti da rand.Next è già uscito oppure no... se è già uscito rifai la funzione rand.Next altrimenti lo accetti e lo inserisci nell'array...
così dovrebbe funzionare...


Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

Geronimo79 Profilo | Junior Member

Ok grazie.....allora provo con gli array...un saluto.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5