C# CheckBox - do tablicy LOO

C# CheckBox - do tablicy LOO
0

Witam - jestem zielony

Tak sobie buduje programik w ktorym jest kilkadziesiąt (20 sztuk) CheckBox-ow i potrzebuje załadowąc ich stan do tablicy

Myslałem ze moge do tego wykorzystać petele for - ale mam problem przypisaniem wartości

for(int i=0; i<20;i++){

tab[i]=??????// tutaj własnie mam problem

}

Dziękuje wszystkim za pomoc

__Marcin__
  • Rejestracja:ponad 19 lat
  • Ostatnio:prawie 14 lat
0

Umieść wszystkie checkbox-y na panelu i wtedy wystarczy:

Kopiuj
for(int i = 0 ; i < panel1.Controls.Count ; i++)          
 tab[i] = ((CheckBox)panel1.Controls[i]).Checked;

LN
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 16 lat
0

Zrobiłem tak jak pisałeś - wyskoczył taki komunikat jak próbowałem przypisać

Nie można rzutować obiektu typu System.Windows.Forms.DateTimePicker na typ System.Windows.Froms.CheckBox

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Wrocław
0

Bo DateTimePicker to nie jest CheckBox, prawda? Nawet z wyglądu go nie przypomina.
Więc zanim spróbujemy rzutować, to upewnijmy się, czy rzutujemy obiekt odpowiedniego typu. Można to zrobić np. tak:

int i = 0;
foreach(Control c in panel1.Controls)
if(c is CheckBox)
{
tab[i] = ((CheckBox)c).Checked;
i++;
}

Kopiuj
adf88
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 12 lat
0

Ehhh, złe nawyki macie z tym przeglądaniem komponentów. Jeżeli już to robić to tylko raz !

Kopiuj
List<CheckBox> checkBoxy;

//przy starcie progsa
foreach(Control c in panel1.Controls)
    if(c is CheckBox) checkBoxy.Add(c);

lub z użyciem linq (od .NET 3.5 w zwyż)

Kopiuj
CheckBox[] checkBoxy;

//przy starcie progsa
checkBoxy = panel1.Controls.OfType<CheckBox>().ToArray();

Poza tym jak jest ich tak dużo, to zamiast wyklikać w designerze twórz je w pętli dynamicznie i od razu zapisuj w kolekcji.

LN
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 16 lat
0

adf88 - fajny pomysł tylko dynamicznym tworzeniem powiec gdzie to umieścić? i jak zrobić aby były w 3 poziomach po 10 sztuk CheckBox i jak im opis przypisac np a,b,c itd..

johny_bravo
  • Rejestracja:około 19 lat
  • Ostatnio:ponad 13 lat
0

@up:
Nazwa_formy.Designer.cs <- doskonaly przyklad jak sie to robi.


You need to learn how to walk
before you can run

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.