salve a tutti,
sto realizzando un gioco in c# simile a risiko. Ho un problema quando vado a gestire le immagini delle carte possedute da ciascun giocatore. In pratica le carte possedute da un giocatore variano continuamente durante lo svolgimento del gioco perciò le devo caricare a runtime. Fino qui nessun problema particolare, vi posto il codice (le immagini si trovao nella cartella resources):
codice:
/*creo una lista contenente i nomi delle imagini*/
public List<string> myList = new List<string>();
/*al click di un bottone aggiungo i nomi dalle immagini delle carte possedute da un giocatore,
*creo le pictureBox e visualizzo le immagini */
private void button1_Click(object sender, EventArgs e)
{
myList.Add("image1");
myList.Add("image2");
/*in questo esempio per farvi capire carico solo due immagini predefinite, nell'applicazione finale
*i nomi verranno presi da una classe Giocatore che conterrà, tra l'altro, anche le carte
*possedute dal giocatore */
/*creo le picture box necessarie e vi inserisco le immagini*/
foreach(string s in myList)
{
PictureBox pb = new PictureBox();
pb.Width = 120;
pb.Height = 150;
pb.SizeMode = PictureBoxSizeMode.StretchImage;
Image img = Properties.Resources.ResourceManager.GetObject(s) as Image;
pb.Image = img;
flowLayoutPanel1.Controls.Add(pb); //per mantenere le immagini allineate
}
}
Fino a qui nessun problema, le pictureBox vengono create e le immagini visualizzate.
Ora però, per dare ai giocatori la possibilità di giocare un tris di carte, dovrei fare in modo che le immagini visualizzate siano cliccabili, in pratica devo associare ad ogni pictureBox che viene creata l'evento Click.
Ho provato svariate soluzioni trovate in rete ma nessua mi funziona, se c'è qualcuno che può darmi qualche consiglio su come potrei fare ve ne sarei grato.
Grazie.