× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

Tvorba úvodního okna programu v C#

[ http://programujte.com/profil/13487-petr-laslo/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/14523-martin-simecek/ ]Google [ ?rel=author ]       5. 10. 2009       36 229×

Dnešní článek z řady článků o vývoji software na platformě .NET a o jazyku C# bude zaměřen na tvorbu úvodních dialogů při načítání programu. K čemu to bude dobré, zjistíte, když budete číst dále.

Jak jsem se již zmínil, tento článek vám pomůže k úspěšné tvorbě úvodních dialogů. Úvodní dialogy jsou dobré u náročnějších aplikací nebo u aplikací, které se nenastartují okamžitě. Úvodní dialog nám vlastně zabrání vyvolání dojmu uživatele "ten rám zase nefunguje", neboli uživateli bude zobrazeno, že program něco dělá a načítá se.

Použitý software

K praktické části dnešního článku jsem využil následující softwarové vybavení:

  • Operační systém: Microsoft Windows 7 Professional
  • Vývojové prostředí: Microsoft Visual Studio Team System 2008 SP1
  • Framework: .NET Framework 3.5

Začínáme

Naším cílem je vytvořit jednoduchou aplikaci, založenou na Windows Forms. Aplikace bude simulovat dlouhé načítání a po načtení bude obsahovat jedno tlačítko, které po kliknutí vypíše námi určený text.

  1. Prvně vytvoříme nový projekt Windows Forms a pojmenujeme jej Uvodni okno (tvorbu projektu ve Visual Studiu již nebudu popisovat).
  2. Nyní přidáme do formuláře tlačítko a nápis na něm nastavíme na text Klikni.
  3. Naším dalším úkolem je přidání prvku Label do okna aplikace a vytvoření události Click (kliknutí na tlačítko) pro button1.
  4. K oživení tlačítka použijeme následující kód:
  5. private void button1_Click(object sender, EventArgs e)
    {
        label1.Text = "Kliknul jsi!"; 
    }

Nyní máme základní část naší aplikace hotovou. V další části tohoto článku se vrhneme na tvorbu úvodního okna programu a simulaci načítání velkého množství knihoven.

Úvodní obrazovka

Prvním krokem, který musíme podstoupit, je přidání dalšího formuláře do našeho projektu. Vytvořme nyní formulář pod názvem Uvod.

  1. Prvně odstraníme našemu novému oknu rámeček. Pro odstranění rámečku musíme nastavit vlastnost FormBorderStyle na hodnotu none.
  2. Jak nyní graficky ztvárníme naši úvodní obrazovku, nechám na každém jedinci, pro náš článek je důležité pouze umístění progressbaru do formuláře.
  3. Pro zobrazení uvítacího okna použijeme událost Load formuláře Form1. A vložíme do ní následující kód:
  4. private void Form1_Load(object sender, EventArgs e)
    {
            Uvod okno = new Uvod();
            okno.Show();
    
            Application.DoEvents();
    
            for (int i = 0; i < 100; i++)
            {
                okno.progressBar1.Value = i;
                Thread.Sleep(30);
            }
    
            okno.Close();
     }

Pojďme se nyní podívat detailněji na obsah metody Form1_Load. Prvně musíme vytvořit instanci třídy Uvod a poté zobrazit okno pomocí metody Show().

Uvod okno = new Uvod();
okno.Show();

Velmi důležitým krokem je volání metody Application.DoEvents() po zobrazení úvodního okna. Pokud bychom toto volání nepoužili, riskujeme, že se formulář před cyklem nemusí nutně úplně nakreslit.

Application.DoEvents();

Nakonec pomocí cyklu simulujeme načítání a postupně nastavíme hodnoty progressbar. Pro simulaci dlouhého načítání využijeme metodu Sleep() třídy Thread. O práci s vlákny se více dozvíte zde [ http://programujte.com/?akce=clanek&cl=2008061400-vlakna-v-c#-uvod ].

for (int i = 0; i < 100; i++)
 {
     okno.progressBar1.Value = i;
     Thread.Sleep(30);
}

Posledním krokem bude vypnutí úvodního okna.

okno.Close();

Závěr

Cílem článku nebylo naučit programování v C#, ale naučit již znalé programátory vytvořit úvodní obrazovky aplikace, a tím vylepšit své dosavadní programy. Příklad by se dal jistě dále rozvést, například zde neuvádím kontrolu chyby v době inicializace. Pokud by k takovéto chybě došlo, aplikace má skončit s chybovou hláškou.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2009100100-tvorba-uvodniho-okna-programu-v-c/ ].