[ e-tomislav @ 02.09.2006. 22:16 ] @
Ovako ...

Pišem programčić (nebitno šta radi).

Opis problema:
* 34 (ili oko toliko) labela
* promijeniti im svima tekst iz nekog u isti, npr u Jel radi ??
* 34 puta napisati labelxyz.text="Jel radi ??"

Molim pomoć, preporuke, možda koji primjer ...

Hvala!
[ maksvel @ 02.09.2006. 23:10 ] @
Ako svim labelama treba da promeniš text, onda možda nešto tipa:

Code:

foreach (Control c in p.Controls)
if (c is Label)
            {
                c.Text="Novi tekst";              
            }


gde je p neki kontejner (npr. panel)
[ e-tomislav @ 02.09.2006. 23:30 ] @
Upravo to se tražilo!


HVALA !!!
[ NrmMyth @ 04.09.2006. 02:16 ] @
Moguce je i napraviti polje objekata TextBox pa raditi preko tog polja, jedina otezavajuca stvar je da onda nije moguce to izvesti preko dizajnera, nego se mora sve "hardkodati", lokacije, velicine i sl.
[ mmix @ 05.09.2006. 03:04 ] @
Citat:
e-tomislav: Upravo to se tražilo!


To je resenje, samo pazi na situacije kad imas kontejner unutar kontejnera (npr panel u panelu) i labele koje su u oba. Ako hoces sve da ih pokupis moras da proveris da li je c kontejner ida rekurzivno obavis proces i unutar c :)
[ StrokaviKod @ 05.09.2006. 09:49 ] @
Kad vec pomenu mmx (moj ljuti neprijatelj :)...stalno brise moje duhovite poruke - naravno u ovo sam samo izlgeda ja ubedjen), evo primera rekurzije:

Code:

public void Recursive(System.Web.UI.Control cont) {
    foreach(System.Web.UI.Control c in cont.Controls) {
        if(c.HasControls())
            Recursive(c);
        else if(c.GetType().Equals(typeof(Label)))
            ((Label)c).Text = "blabla";
    }
}