abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 4
    dnes 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

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

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

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

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 2
    včera 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    4.6. 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    4.6. 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    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: 364×
    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.