Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C#] obsługa wielu labeli w jednej funkcji

alak 20 Gru 2011 16:58 1231 5
  • #1 20 Gru 2011 16:58
    alak
    Poziom 9  

    Witam,
    zadeklarowałem sobie kilka labeli: Kod:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod




    a teraz w funkcji chciałbym zmienić tekst dowolnego labela
    Kod:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod




    niestety nie działa to tak jak chciałem (poprostu nie działa) - tylko czemu?
    pozdrawiam

    --
    btw
    w przypadku braku "syntax" wystarczy zwrócić uwagę a nie usuwać posta

    0 5
  • #2 20 Gru 2011 19:31
    marcinj12
    Poziom 40  

    U mnie ten kod działa w takiej formie jak ją przedstawiłeś, więc problemu szukaj raczej w innej części swojego programu. Na pewno dodajesz te labele bezpośrednio na formę, nie np. na panel??

    0
  • #3 21 Gru 2011 07:49
    alak
    Poziom 9  

    Witam,
    faktycznie labele sa pogrupowane za pomoca groupbox-a, czyli już wiem w czym tkwi problem, ale dalej nie wiem jak go rozwiązać,
    pozdrawiam

    0
  • Pomocny post
    #5 21 Gru 2011 14:12
    marcinj12
    Poziom 40  

    alak napisał:
    ale dalej nie wiem jak go rozwiązać
    this w tym wypadku odnosi się do formy. this.Controls to kolekcja kontrolek formy. Jeżeli dodajesz je do GroupBox'a, musisz się odwoływać do: this.groupBox1.Controls, groupBox, panel i podobne elementy same są kontenerami dla kontrolek.

    Dżyszla napisał:
    czy nie wygodniej w takiej sytuacji przechowywać wszystkie utworzone labele w jakiejś własnej dodatkowej tablicy?
    Można , jak najbardziej, choć metoda której użył autor też jakaś specjalnie zawiła nie jest, jednak jeśli już upraszczać, użyłbym słownika:
    Kod: csharp
    Zaloguj się, aby zobaczyć kod
    , wtedy można podać nazwę labela jako klucz i odwołując się do niego uzyskać od razu labela. Całość by wtedy mogła tak wyglądać:
    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    Zastosowanie tablicy specjalnie by sprawy nie uprościło, bo tą trudniej w C# przeszukiwać niż np. listę po "zagnieżdżonym" parametrze - nazwie labela (chyba żeby użyć LINQ) no i nie jest "dynamiczna".

    0
  • #6 22 Gru 2011 07:24
    alak
    Poziom 9  

    Witam,
    metoda z słownikiem działa rewelacyjnie i przy dużej ilości elementów szybciej, jak dla mnie temat rozwiązany
    pozdrawiam

    0