2. PovrchObjemKouleWPF

2.1. Analýza a návrh řešení

Příklad výpočtu povrchu a objemu koule o zadaném poloměru je založen na volání jednotlivých typů metod:

  • Metody bez návratu
  • Metody s návratem
  • Metody orientované na výraz
  • Metody s výstupními parametry
  • Metody s návratem 2 výstupů
  • Metody pomocí předání parametrů odkazem

Tyto metody budou volány (spuštěny) pomocí příslušných tlačítek umístěných na formuláři - viz Obrázek 1. Pro zadání poloměru koule bude vytvořen prvek typu TextBox. Pokud se myší přepneme do tohoto prvku na formuláři nastane událost GotFocus. V Code Behind vytvoříme zdrojový kód pro test, zda je v tomto prvku vepsaný text "Zadejte poloměr", který bude v prvku vypsán při spuštění aplikace. Pokud se uživatel přepne do prvku a nezadá hodnotu poloměru koule, dojde k vymazání počátečního textu, aby uživatel mohl zadat hodnotu do již prázdného pole. Pokud uživatel vymaže hodnotu poloměru a přepne se mimo prvek pro zadání poloměru, musí být také smazány vypočtené hodnoty povrchu a objemu koule vázající se k předchozímu zadanému poloměru. Toto vymazání provedeme pomocí metody pro obsluhu události LostFocus. Do pravého dolního rohu aplikace umístíme tlačítko pro ukončení aplikace.


 

Obrázek 1: Návrh GUI pro aplikaci PovrchObjemKouleWPF

Pro určení pozic jednotlivých vkládaných prvků využijeme rozdělení objektu Grid. První objekt typu Grid rozdělíme na 3 řádky. Do prvního řádku (s indexem 0) vložíme objekt typu GroupBox, který slouží pro vizuální seskupení jednotlivých vložených objektů. Do objektu typu GroupBox vložíme další objekt typu Grid, který rozdělíme na jednotlivé řádky a sloupce, kde šířka sloupců Grid obsahující jednotlivé popisky se přizpůsobí vloženému obsahu v těchto objektech, tj. délce textu. Šířky sloupců Grid obsahující TextBox pro zadaní poloměru a výpis plochy nebo objemu budou rozděleny v určitém poměru. Do posledního řádku umístíme objekt typu StackPanel, do nějž vložíme objekt WrapPanel, který využijeme pro umístění jednotlivých tlačítek za sebou. Pod tento WrapPanel umístíme další WrapPanel abychom zarovnali tlačítko Konec k pravé straně formuláře. Následující obrázek ukazuje rozmístění jednotlivých objektů v mřížce formuláře - viz Obrázek 2.


Obrázek 2: Návrh GUI - rozložení prvků v mřížce formuláře

Na následujícím obrázku je vidět GUI při počátečním spuštění programu - viz Obrázek 3. 


Obrázek 3: GUI při počátečním spuštění programu