Diskuze: Event pro všech 170 picture boxů ve formu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

					Člen				
			
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Honza má naprostou pravdu, měl bys mu označit řešení.
Ještě vysvětlení - ty jsi v původní eventové metodě měnil
Properties.Resources.yellow kontrolce pictureBox1. Objekt, který eventovou
metodu zavolá s sebou metoda nese, je to parametr "sender" metody. Musíš ho
přetypovat na příslušnou kontrolku, v tomto případě na PictureBox. Na
něj pak aplikuješ změnu vlastnosti Image 
Cilem je samozrejme, aby zmenil barvu kazdej picbox, kdyz na nej kliknu, ten pictureBox1.Image = Properties.Resources.yellow; jsem tam mel jen proto, abych věděl, jestli to funguje alespon trosku...
Teď se změní barva pouze u picboxu1, kvuli eventu primo na nej, ale u
ostatních to nedělá nic.. 
public partial class Range_Builder : Form
{
    public Range_Builder()
    {
        InitializeComponent();
        foreach(Control objekt in Controls)
        {
            if (objekt is PictureBox)
               objekt.Click += new EventHandler(PicClick);
        }
        pictureBox1.Click += PicClick;      //tohle funguje, ale jen pro prvni picbox
    }
    private void PicClick(object sender, EventArgs e)
    {
        PictureBox pic = (PictureBox)sender;
        pic.Image = Properties.Resources.yellow;
    }
}pokud jsem to pochopil správně, tak chceš, aby se po kliknutí na jakýkoliv box, změnil jeho obrázek. Pokud je to tak, tak to fungovat musí.
A není to tak jak píše Petr, že ty boxy nemáš přímo na formuláři, ale třeba v panelu?
foreach(Control objekt in mujPanel.Controls) 
						Zobrazeno 11 zpráv z 11.
 
				

