[ AleXys @ 27.08.2010. 21:38 ] @
Imam 30 checkbox-ova.

Kako mogu da ih sve čekiram, a da ne idem jednu po jednu?

Da li ide nešto sa for each?
[ Valerij Zajcev @ 27.08.2010. 22:15 ] @
U kojoj kontroli ti se nalaze ti check box-ovi?
Recimo ako se nalaze u nekom Panel-u, prvo moras iz njega da uzmes listu kontrola (CheckBox-eva) i na svakom da promenis "checked" property:
Code:

            foreach (CheckBox chk in panel1.Controls)
            {
                chk.Checked = true;
            }
[ AleXys @ 27.08.2010. 22:52 ] @
Code:
Dim checkBox As CheckBox
        For Each c In Me.Controls
            If TypeOf (c) Is CheckBox Then
                Me.CheckBox = c
                checkBox.Checked = True
            End If
        Next


Našao sam. Tražim već dva sata.

[ AleXys @ 27.08.2010. 22:54 ] @
Valerij, u prevodu na VB 2008, tvoj kod ispada ovako:

Code:
 For Each chk As CheckBox In Me.Controls
            chk.Checked = True
        Next


Nažalost, ne radi zbog toga što pri greški pominje i button. Tako da je if petlja neophodna.

Pozdrav!
[ Shadowed @ 29.08.2010. 01:17 ] @
Trebalo bi da moze i ovako nesto uz LINQ:
Code (csharp):
this.Controls.Where(c => c is CheckBox).ForEach(cb => cb.Checked = true);


Mozda sam nesto i omasio, nisam pisao u vs-u :)
[ NrmMyth @ 29.08.2010. 11:50 ] @
Citat:
Shadowed: Trebalo bi da moze i ovako nesto uz LINQ:
Code (csharp):
this.Controls.Where(c => c is CheckBox).ForEach(cb => cb.Checked = true);


Mozda sam nesto i omasio, nisam pisao u vs-u :)


Nedostajat će ti .Cast<CheckBox> iza Where ili manualni cast unutar foreach.
Ovako rješimo sve probleme :)
Code (csharp):
this.Controls.OfType<CheckBox>().ForEach(cb => cb.Checked = true);


Mozda sam nesto pogrijesio, nisam pisao ni ja u vs-u :)
[ Shadowed @ 29.08.2010. 18:47 ] @
E, odlicno, nisam znao da OfType() vrsi filtriranje nego sam mislio da cast-uje.