1. Jednoduchá aplikace - Pozdrav

Na ukázku, jak lze vytvořit jednoduchou aplikaci uvádím tuto, nenáročnou na programování: vytvoříme formulář s textovým polem, do kterého načteme jméno člověka, kterého chceme pozdravit. Po zmáčknutí tlačítka "Pozdrav!" se otevře druhý formulář s pozdravem.

[příklad ke stažení]

Ukázka v zipu je k dispozici zde.

Obrázek 11.1. Windows Forms Aplikace "Pozdrav", okno 1

Windows Forms Aplikace "Pozdrav", okno 1

Obrázek 11.2. Windows Forms Aplikace "Pozdrav", okno 2

Windows Forms Aplikace "Pozdrav", okno 2

Naše ukázková aplikace využívá dva ovládací prvky (textové pole a tlačítko). Tlačítko na základě vzniklé události (Click) provede nějakou akci. Tímto způsobem - tedy na základě událostí - funguje ovládání všech ovládacích prvků.

Nyní si popíšeme celý průběh vytvoření formuláře s ovládacími prvky.

1.1. Vytvoření aplikace s využitím Windows Forms v .NET Visual Studiu

Vytvoříme nový projekt, vybereme možnost Visual C# Projects -> Windows Application. Po zadání názvu projektu se vygeneruje úvodní formulář a k němu inicializační zdrojový kód. Je na místě si všimnout, že pokud používáte Visual Studio, v konstruktoru našeho formuláře se nachází privátní metoda InitializeComponent(). Tato metoda nastaví všechny prvky formuláře tak, jak jsme si je rozvrhli v módu návrhu formuláře. Zároveň je doporučováno zasahovat do této metody pokud možno co nejméně a radši vše ostatní provádět mimo ni.

Obrázek 11.3. Nová aplikace typu Windows Application

Nová aplikace typu Windows Application

1.2. Vložení ovládacích prvků do formuláře

Máme vytvořený prázdný formulář. Nyní do něj vložíme ovládací prvky textové pole (TextBox) a tlačítko (Button). K textovému poli také vložíme popisek (Label), aby bylo jasno, čím se toto textové pole má plnit. Všechny komponenty pro používání ve formuláři se nacházejí na liště Toolboxu. Postupně z něj tedy vložíme (buď přetažením myší nebo kliknutím na komponentu a poté jejím vytvořením myší na požadovaném místě) do našeho formuláře tlačítko a textové pole. Do projektu poté vložíme ještě jeden formulář, který bude obsahovat text pozdravu.

Obrázek 11.4. Vytvoření ovládacích prvků

Vytvoření ovládacích prvků

1.3. "Oživení" ovládacích prvků

V této chvíli máme vytvořené ovládací prvky, které samy o sobě ještě nic neudělají. Je třeba provést nějakou akci po stisku tlačítka "Pozdrav!". Ta se vytvoří přidáním reakce na událost tlačítka Click.

[ukázka kódu]
...
System.Windows.Forms.Button button1 = new System.Windows.Forms.Button;
...
// eventFunction je funkce reagujici na udalost tlacitka Click
button1.Click += new System.EventHandler(ButtonEventFunction);
...
// proved akci
void ButtonEventFunction(object sender, System.EventArgs e) {
   ...
}

Totéž, ale mnohem jednodušeji, provedeme dvojím poklepáním myší na tlačítko "Pozdrav!" v návrhu formuláře (na obrázku s názvem Form1 - Form1.cs [Design]). Microsoft Visual Studio za nás vytvoří samo funkci pro zpracování události (se jménem button1_Click) a samo přidá k události Click tlačítka s názvem button1 EventHandler. Poté, co se vytvoří obsluha události tlačítka, Visual Studio nás nasměruje do této vytvořené funkce. My do této funkce pouze přidáme, že chceme vytvořit nový formulář s textem pozdravu.

[ukázka kódu]
...
private void button1_Click(object sender, System.EventArgs e) {
  // formular s textem pozdravu, predam jmeno toho, koho chci pozdravit
  new FormGreet(this.textBoxWho2Greet.Text);
}
...

K tomu, aby se formulář po stisku tlačítka objevil, a my ho takto mohli vytvořit, musíme přetížit konstruktor. V konstruktoru předáme jméno typu string, koho chceme pozdravit. V tom samém konstruktoru zároveň nastavíme, aby se formulář s pozdravem zobrazil.

[ukázka kódu]
this.Show() = true;

Za zmínku ještě stojí obsluha události Exit_Click(). Ta se provádí tehdy, pokud chceme aplikaci zavřít klasicky kliknutím na křížek vpravo nahoře. Musíme ji přidat do projektu, jinak by totiž kliknutí na křížek nedělalo nic.

[ukázka kódu]
private void Exit_Click(object sender,EventArgs e) {
  // uvolneni zdroju
  this.Dispose();
  Application.Exit();
}

A máme zajištěno, že aplikaci budeme moci uzavřít.