johny_bravo napisał(a)
No mozesz przeciez zrobic sobie skladowa, ktora zapamieta ostatni z zapalona ramka i podmieniac przy kolejnym zdarzeniu tego typu.
Co rozumiesz przez slowo zapamieta, jak wrzucic do tablicy indeks kontrolki ? Bo normalnie jezeli np na panelu mam 15 kontrolek to odwolujesz sie do nich przez kontrolka[indeks] i teraz jak wylowic ten indeks i zapisac do tablicy ?
Dobra zrobilem takie zdarzenie Mouse_Enter:
ArrayList lista = new ArrayList();
private void Najechanie(object sender, EventArgs e)
{
int indeks;
PictureBox o = (PictureBox)sender;
lista.Add(splitContainer1.Panel2.Controls.IndexOf(o));
o.BorderStyle = BorderStyle.FixedSingle;
if (lista.Count > 1)
{
indeks = (int)lista[lista.Count - 2];
PictureBox o1 = (PictureBox)splitContainer1.Panel2.Controls[indeks];
o1.BorderStyle = BorderStyle.None;
}
}
Zapisuje sobie id kontrolki do tablicy, zaznaczam aktualna kontrolke i jezeli tablica ma wiecej niz 1 element(bo dla pierwszego elementu nie ma sensu gasic poprzedniego bo go nie ma) wtedy gasze kontrolke poprzednia, indeksy mam w tablicy i pozniej sie tylko do kontrolek odwoluje.
Jedyny minus tej metody jest taki ze zaznaczenie nigdy nie zniknie tzn zawsze bedzie jakas kontrolka z borderem ale mi to nie przeszkadza.
Takze dziala
Dzieki za pomoc.