abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 2
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 442 hlasů
     Komentářů: 12, poslední včera 21:12
    Rozcestník

    Dotaz: [C#] foreach, delete textbox a label

    22.11.2016 10:25 Lanny2013 | skóre: 2
    [C#] foreach, delete textbox a label
    Přečteno: 416×
    Příloha:
    Dobrý den, snažím se odstranit určité Texboxy a Labely které jsou dynamicky vytvořené v Groupboxu. Chtěl bych, ale odstranit jenom některé. Problém je v tom, že se mi vždy podaří odstranit všechny Labely ale Textbox pouze ten první. Můžete mi prosím poradit kde mám chybu. předem děkuji.


    Řešení dotazu:


    Odpovědi

    22.11.2016 12:43 Jamie
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Chtělo by to sem dát i ten kód, který ty prvky vytváří. Navíc by se kolekce, kterou procházíš přez foreach, neměla měnit.
    skunkOS avatar 1.12.2016 09:02 skunkOS | skóre: 27 | blog: Tak nějak
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Přesně tak. Kdykoliv dochází k nějakým destrukcím v kolekci, kterou iteruješ přes foreach, je to náběh na chybu. Když se něco v kolekci mění, použij for.
    http://martinrotter.github.io
    22.11.2016 12:50 Jamie
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Btw. které "některé" chceš odstraňovat. Neměl by v každém foreach být ještě for (místo použití h a i)?
    22.11.2016 17:16 Lanny2013 | skóre: 2
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Ahoj posílám čás kodu, který vkládá prvky. Zde si ale myslím, že chyba není.
    Label label2 = new Label();
    label2.Name = "labelg" + TxtInt;
    label2.Top = LabelTop + 30;
    label2.Width = 10;
    label2.Left = LabelLeft + 101;
    label2.Text = "-";
    Form3.form4.groupBox3.Controls.Add(label2);
    
    TextBox txt2 = new TextBox();
    txt2.Name = "txtbox" + TxtInt;
    txt2.Top = TextboxTop + 30;
    txt2.Left = TextboxLeft + 52;
    txt2.Width = 114;
    txt2.Height = 20;
    txt2.Text = StandartUcetAdd.cislo;
    Form3.form4.groupBox3.Controls.Add(txt2);
    
    TxtInt++;
    
    Co se téče cyklu for tak ten jsem nechtěl použít, jelikož neznám konečný počet prvků dopředu. Nicméně jsem to upravil tak, že nejprve zjistím celkový pořet prvků.
    int count =  groupbox.Controls.Count;
    potom přes for vybrat jenom určité prvky do určitého čísla int count. I tak to ale nefunguje chová se to úplně stejně jako bez for. A to tak, že když mám jeden foreach třeba na textbox tak je vše v pořádku. Jakmile za to přidám druhý foreach na vymazání lablelu tak se provede jenom ten první foreach a ten druhý se neprovede. Když je prohodím tedy prvně chci vymazat label a potom textbox. Tak je to přesně naopak label vymaže, ale textboxy už ne.
    22.11.2016 19:26 MadCatX
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    A nevyhodí ti to nějakou vyjímku? Upravovat si „pod rukama“ vektor, který procházíš cyklem není dobrý nápad. Dej si do toho kódu breakpoint a vykrokuj si to debuggerem.
    pavlix avatar 22.11.2016 19:35 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Mimochodem, jak se to správně dělá v C#? V pythonu je to triviální.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    23.11.2016 09:59 kaaja | skóre: 24 | blog: Sem tam něco | Podbořany, Praha
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Správně jde například použít .ToList() z LINQ, které prakticky klonuje kolekci do listu. A tu už při procházení neměníš.
    pavlix avatar 23.11.2016 10:28 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Používám list(something) v Pythonu, takže je to zjevně ekvivalentní.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Řešení 1× (Lanny2013 (tazatel))
    30.11.2016 16:30 Lanny2013 | skóre: 2
    Rozbalit Rozbalit vše Re: [C#] foreach, delete textbox a label
    Omlouvám se za pozdní odpověď. Přesně jak píšeš nakonec jsem ten kod změnil úplně. Použil jsem jak jsi psal LINQ a dosáhl jsem požadovaného výsledku. Děkuji

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.