Aktualizace vlastnosti Text u Labelu   zodpovězená otázka

C#, Threading

Zdravím.

Mám takový problém. Používam Progressbar při generování pole

      private void GenerujPole()
          {
            Random random = new Random();
            int pom = 0; 
            for (int i = 0; i < 100000000; i++)
            {
                
                pole[i] = random.Next(1, 100000); 
                if (pom == 1000000)
                {   
                    progressBar1.PerformStep();
                    label4.Text = "Generuji " + progressBar1.Value.ToString() + "%";
                    pom = -1; 
                }
                pom++;
            }
         }

v Label4 by se mi měl ukazovat stav toho generování. Ale je tam pořád původní hodnota a aktualizuje se to až když to doběhne. Pak se tam ukáže Generuji 100%. Tím ale ten Label4 úplně ztací význam. Rád bych aby se ty procenta ukazovaly už při běhu. Nenapadá mě čím to může bejt způsobený, tak se obracím tady. Snad někdo bude vědět. Předem děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Cyklus zahltí hlavní vlákno aplikace se smyčkou zpráv a tudíž se nepřekreslují ovládací prvky. Přesuňte výpočet do vlastního vlákna, nebo použijte BackgroundWorker. Řešilo se zde milionkrát!

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za radu.

Vlákna vyřešily můj problém. Ještě to tam pak házelo chybu, že nemůžu nastavovat progressbar protože byl vytvořenej jiným vláknem, ale to jsem vyřešil tím, že jsem to nastavovaní hodil do vlastní metody a tu pak volám.

Jinak se omlouvám, že jsem zakládal topic kterej je tu už milionkrát, ale nenašel jsem tady žádnou funkci search a probírat se 15 stránkama se mi opravdu nechtělo, navíc jsem ani nevěděl v čem je problém takže sem neměl představu pod jakým názvem to hledat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Funkce search je nahoře v menu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback