C# - obiekty tego samego typu, nadanie wartosci w petli

2011-09-16 23:25
K...
0

Witam!

Mam checkBox-ow okolo 40 na formie.... Jak sie odwolac do wybranych 15 czeckBoxow???

Maja one nieco inne nazwy, tzn. dostawca1checkBox, dostawca2checkBox, dostawca3checkBox,....dostawca15checkBox. Pozostale 25 C.B. ma inne nazwy (tzn. zupelnie inne, zwykle typu checkBoz1,....itd.).

W Delphi korzystalo sie z czegos takiego jak is

for i:=1 to 15 do begin

if (object is CheckBox) then ................

end;

Czy w C# jest podobnie?

DZEIKI!

K...

edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-09-16 23:32
0

Tak, w C# istnieje operator is. Ale po co pytać o to na forum?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2011-09-16 23:40
K...
0

Chyba czytales tylko koncowke mojego posta, a nie od poczatku?

Nawet jesli jest is, to tylko bede mial typ obiektu. A jak dostac sie do obiektow o nazwie aaaXbbbbbb gdzie X to liczba ???

K...

Pozostało 580 znaków

2011-09-16 23:44
K...
0

Jeszcze dodam: Chce sie odwolac TYLKO do checkBoxow o nazwie aaaXbbbbbb, a nie interesuja mnie CB o nazwach checkBoxX - gdzie X to numer Check Boxa.

Podsumowujac chce miec dostep do wybranych CB (15 z okolo 40).

K...

Pozostało 580 znaków

2011-09-16 23:52
0

Chodzi o refleksję?


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2011-09-17 00:00
K...
0

Chyba nie, zajrzalem do CentrumXP.pl (przyklad ostatni) i raczej to nie jest to....
http://www.centrumxp.pl/dotNe[...]ty_i_mechanizm_refleksji.aspx

Chyba po prostu pogrupuje ChcekBoxy GroupBoxami :) To chyba najprostszy sposob.

K...

Pozostało 580 znaków

2011-09-17 00:33
0

Oczywiście, że to nie ma nic wspólnego z refleksją. Wystarczy w pętli przejść po kontrolkach formy i wybrać z nich te, które są CheckBoxami.

foreach (Control ctrl in this.Controls)
{
    CheckBox chk = ctrl as CheckBox;
    if (chk != null && chk.Name.StartsWith("dostawca"))
    {
        chk.BackColor = Color.Red;
    }
}

Użyłem as, bo użycie go i późniejsze sprawdzenie czy obiekt nie jest null, jest moim zdaniem wygodniejsze niż użycie is i rzutowanie.

Można też posłużyć się LINQ:

foreach (var chk in this.Controls.OfType<CheckBox>().Where(q => q.Name.StartsWith("dostawca")))
{
    chk.BackColor = Color.Red;
}

Ogólnie temat był wałkowany na forum do porzygu, na przyszłość radzę używać szukajki.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2011-09-17 00:34

Pozostało 580 znaków

2011-09-17 00:41
K...
0

Pierwszy sposob chyba lepszy. Ten z LINQ ciekawy, ale nie do konca dla mnie zrozumialy.

Ogólnie temat był wałkowany na forum do porzygu, na przyszłość radzę używać szukajki.

Szukalem pod zlym haslem. Google pod "IS C#" wyrzuca nie to co szukalem.

Dzieki!

K...

Pozostało 580 znaków

2011-09-17 01:17
K...
0

Dziala fajnie! DZIEKI!

Tylko zauwazylem ze nadaje cechy (tu kolor czerwony) od konca (od ostatnio utworzonej kontrolki do pierwszej). Da sie zmienic jakos kolejnosc?

K...

Pozostało 580 znaków

2011-09-17 01:44
0

Nie wiem jak to zauważyłeś, ale myślę, że można wstawić te wybrane kontrolki do nowej tablicy, posortować ją wg żądanej kolejności, a potem dopiero poustawiać wartości.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2011-09-17 03:03
K...
0

Ano zauwazylem, bo rozszerzylem twoj kod nieco, no i tez zrobilem podobny dla TextBox-ow i tu ewidentnie wrzuca mi elementy z tablicy w odwrotnej kolejnosci... Ale jakos sie z tym uporam, mysle ze ten pomysl z tablica nie jest zly.

K...

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0