Kezdőoldal » Számítástechnika » Programozás » C#, hogyan használjam erre a...

C#, hogyan használjam erre a for ciklust?

Figyelt kérdés

Nos tehát, hogyan tudnék for ciklussal pl textboxokon, vagy checkboxokon végig menni?

Pl:

for(int i = 0; i < 10; i++)

{

checkbox.Enabled = false;

}


Hát a lényeges részt pont nem tettem bele... Mert nem tudom hogy kell.

Tehát úgy akarom érteni hogy van 10db Checkbox és egy ciklussal az összesnek megváltoztatni az értékét, hogy mondjuk az összeset eljejtem, vagy engedélyezetté teszem stb... Remélem érthető.


2013. febr. 12. 20:06
 1/6 anonim ***** válasza:

A checkboxok egy listában vannak, vagy hogy?


for(int i = 0; i < cbList.Length; i++)

{

cbList[i].Enabled = false;

}


Ha csak a formon, akkor a legszebb sztem, ha a Contols tömbön mész végig, és megnézed a típusát, hogy CheckBox-e...persze reflecionnel is le lehet kérni név alapján, de az már nagyon "csúnya"

2013. febr. 12. 20:10
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Őő, tudnál mutatni egy példát a Contols tömbbel?:s
2013. febr. 12. 21:15
 3/6 anonim ***** válasza:

Control[]t= new Control[20];


for (int i = 0; i < t.Length; i++)

{

if (t[i] is CheckBox)

{

(t[i] as CheckBox).Checked = true;

}

}

itt az "is" kulcsszóval ellenörzöd az adott kontrol tipusát

az "as" kulcsszóval meg tipuskényszerítését végzel

2013. febr. 13. 00:01
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

pontosan, ahogy az előző válaszoló írta.

a t tömb pedig a Controls tömb (formnak van ilyen propertyje), azaz


var t = Controls;


a (t[i] as CheckBox).Checked helyett pedig én

((CheckBox)t[i]).Checked -et írnék, mivel egyrészt rövidebb, másrészt ha valamiről tudjuk hogy milyen típusú szerencsésebb castolni, mint as-zel átalakítani, mivel az "as" eredménye null-t ad vissza, ha mégsem az a típus, így a későbbiekben (természetesen nem a konkrét példában) relevánsabb exceptiont kapunk ha valahol hibáztunk. (Cast exception a nullreference exception helyett)

Harmadrészt a Resharper nevű VS kiegészítő is ezt ajánlja.

2013. febr. 13. 12:34
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
Nagyon köszönöm, sikerült.
2013. febr. 13. 15:27
 6/6 anonim ***** válasza:
Azért ez elég csúnya megoldás, a legnormálisabb valami olyasmi lenne, amit az első is írt; Felveszel egy listát az osztályba, aztán belepakolod a checkbox-aidat pl. még a konstruktorban, és utána már csak azon a listán kell iterálnod mindig.
2013. febr. 15. 07:59
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!