DOMANDA [c# Winform] Creare Buttons Dopo Click

Snowstorm

Utente Attivo
1,280
113
Hardware Utente
CPU
i7 4790k 4.4GHz | Intel Core i7 2630QM 2,00 GHZ, up to 2,9 with Turbo Boost
Dissipatore
Corsair H110i
Scheda Madre
Gigabyte Z97X Gaming 7 | Acer JV51_HR
Hard Disk
Samsung 850 Pro 256gb+HDD WD Caviar Blue 1TB | 750 GB HDD+SSD Samsng 840 Pro 256GB
RAM
G.Skill Sniper 2400MHz cl11 | 6 GB ddr3 1333mhz
Scheda Video
Gigabyte G1 GTX 970 4GB | Una squallida ma funzionante GT 540M
Scheda Audio
Creative SoundBlaster Zx| Realtek HD audio con Dolby Audio Advanced v2
Monitor
LG E2281 Flatron 21,5' | 15.6 pollici HD, monitor notebook Acer
Alimentatore
CM GS650 | Integrato
Case
NZXT Phantom 530 | Acer Aspire 5755G
Periferiche
Casse: M-Audio BX5 D2; Mouse: Steelseries Rival 100; Tastiera: CM Storm Quickfire Ultimate; Cuffie: Superlux HD681Evo
Sistema Operativo
Windows 8.1 | Windows 7 Home Premium
Salve, devo scrivere un programma in Windows Form usando C#.
Il mio principale problema è, come faccio a creare una serie di bottoni (n buttons) dopo averne cliccato un altro e poi modificare l'immagine dei bottoni cliccati (partendo da destra)?

Ecco ciò che ho fatto finora:
Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Forms;

namespace ******
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

      
        //Dichiarazioni etc...

        Button[] array;

        private void button1_Click(object sender, EventArgs e) 
                       //Pulsante il cui click scaturisce la creazione di altri
        {
         
           [...]

            fiammiferi = new Button[n];  
           
           [...] CODICE

         
            for (int j = 0; i < n; i++)    
            {
                Button f = new Button();

                [...] CODICE
              

         
                f.Name = "bottone" + i;
                f.BackColor = Color.White;
                f.Tag = i;
                this.Controls.Add(f);
                f.Click += new System.EventHandler(this.fiammiferi_Click);
            }
         

        }

        private void bottone_Click(object sender, EventArgs e)
        {
            Button premuto = sender as Button;

            while (n== 1) 
            {
                  [..]

                    switch (n)
                    {
                        case 8:
                            f_tolti = 3;
                            for (int p = 0; p < f_tolti; p++)
                            {
                                array[n- p].Image = Properties.Resources.spento;
                               
                           [...] CODICE

                            }
                            break;
               
                       //ALTRI CASE SIMILI

                      
                    } 
                } 

                else  
                {
                   
                    [...]  CODICE

                }

            }

        }
     
    }
}

Dopo aver premuto button1 io quindi creo tanti bottoni ( quanto è n (nel mio caso è un numero random, ho omesso il resto del codice) e poi se clicco su uno dei "bottone" esso deve cambiare immagine.

Se io ho n = 30, creo 30 f ciascuno con nome [ "bottone" + i ] e se io clicco su bottone nr 29 (per esempio) voglio che a questo venga cambiata l'immagine, poi il 28, 27, 26 etc...
Come faccio?

Ho avuto il suggerimento di usare un array di appoggio per determinare le posizioni, il problema è che ho capito fino ad un certo punto come usarlo.
 

Entra

oppure Accedi utilizzando