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 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 14
    dnes 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 1
    včera 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    včera 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 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ářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (29%)
     (3%)
     (10%)
     (3%)
     (1%)
     (3%)
     (15%)
     (21%)
     (15%)
    Celkem 78 hlasů
     Komentářů: 18, poslední dnes 15:30
    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.