Oppure

Loading
26/08/08 13:26
I)eathBringer
Ho creato via codice 256 picturebox utilzzando una variabile di tipo picturebox chiamata "grid"
e una variabile di tipo array chiamata "index".
Con un ciclo for da 0 a 255 ho creato una nuova picturebox è l'ho assegnata a index(i).
N.B. "i" è il contatore del for.
Vorrei sapere come riconoscere una qualsiasi cella di index in un evento.
Esempio
Private Sub index_Click...

Se non sono stato chiaro ditemi dove non avete capito.
Ultima modifica effettuata da pierotofy 27/08/08 19:43
aaa
27/08/08 8:32
punkettone90
se tanti oggetti picturebox delegano l'evento ad un solo metodo non saprei, prova a vedere se tramite la classe eventarg riesci ad ottenere qualcosa, altrimenti fai una classe che contenga un campo di tipo int (o byte), istanzi sempre con lo stesso ciclo 256 oggett idi questa classe e di ogniuna metti nel campo il valore di i, poi l'evento di ogni picturebox sarà gestito da un metodo contenuto nella classe che hai fatto; quindi alla fine avrai tanti metodi delegati quanti sono gli oggetti di picturebox che vai a fare, inoltre questi metodi avranno a fianco un campo che indica che numero dell'array sono.

dimmi se non sono stato chiaro

:k:
aaa
27/08/08 16:52
I)eathBringer
se mi fai un esempio te ne sarei grato:D
aaa
27/08/08 20:07
punkettone90
picturebox[] immagini=new picturebox[255];
delegati[] classi=new delegati[255];

for (int i=0;i<255;i++)
{
immagini[i]=new picturebox();
classi[i]=new delegati();
classi[i].id = i;
immagini[i].onclick+=new eventhandler(classi[i].delegato);
}

class delegati
{
public int id;
public delegato(object sender, clickeventarg e)
{
console.writeln(id.tostring());
}
}



forse ho sbagliato a scrivere il nome della classe degli eventi, però la struttura è questa :k:
aaa
27/08/08 21:17
I)eathBringer
Scusate ancora ma potreste farmi un esempio in vb.net?(non mi picchiate per non averlo scritto sopra);)
aaa
28/08/08 9:49
punkettone90
puoi sempre usare un traduttore... :k:
aaa
30/08/08 9:50
Il Totem
Troppo complicato... Usa semplicemente la proprietà Tag o Name di sender:
Dim Index(255) As PictureBox

For I As Int16 = 0 To 255
  Dim P As New PictureBox
  'Assegna a P il suo indice
  P.Tag = I
  Index(I) = P
  AddHandler P.Click, Addressof Image_Click
Next

'...

Private Sub Image_Click(ByVal sender As Object, ByVal e As EventArgs)
  If sender.Tag = 2 Then
    'Si tratta della terza picturebox
  End If
End Sub
aaa