Windows Forms je framework pro vývoj grafických uživatelských rozhraní (GUI) v jazyce C#. Umožňuje vytvářet okenní aplikace s bohatou sadou grafických prvků. ### **Rozdíly oproti konzoli** - **GUI vs. textové rozhraní:** Windows Forms umožňuje pracovat s grafickými prvky (tlačítka, textboxy, obrázky atd.), zatímco konzole je textové rozhraní. - **Event-driven vs. lineární:** Windows Forms je event-driven, tj. reaguje na uživatelské akce (kliknutí, stisk klávesy atd.), zatímco konzole je lineární a provádí kód sekvenčně. - **WYSIWYG editor:** Visual Studio a další IDE nabízí WYSIWYG editor pro usnadnění návrhu formulářů. ### **Umístění formuláře** Formulář je základní prvek Windows Forms aplikace. Můžete ho umístit na obrazovku pomocí vlastností: - **StartPosition:** Určuje, kde se formulář zobrazí při spuštění (např. na střed obrazovky). - **Location:** Určuje souřadnice levého horního rohu formuláře. - **Size:** Určuje velikost formuláře. [https://lh7-us.googleusercontent.com/docsz/AD_4nXfr5iicDr7YNl595unIs2SAvoqLRY2rj01wHlQSDF72wtWofaTXSMRfPVEVXrKtQFu5Vga9ZHp1xdqoJ-CCtcJpEBArfw_oxVw6XyVNcwDI1Jwsy99Ddb1S-MDiRSCeihVCNdqY0SnqV_zrbVdD_tn9d_s2?key=TdJHzJ8yu4t4R2LmYIHy2w](https://lh7-us.googleusercontent.com/docsz/AD_4nXfr5iicDr7YNl595unIs2SAvoqLRY2rj01wHlQSDF72wtWofaTXSMRfPVEVXrKtQFu5Vga9ZHp1xdqoJ-CCtcJpEBArfw_oxVw6XyVNcwDI1Jwsy99Ddb1S-MDiRSCeihVCNdqY0SnqV_zrbVdD_tn9d_s2?key=TdJHzJ8yu4t4R2LmYIHy2w) ### **Kotvení prvků** Kotvení prvků umožňuje definovat, jak se prvky formuláře budou pohybovat při změně jeho velikosti. Možnosti: - **Top, Bottom, Left, Right:** Uchycení k okraji formuláře. - **Center:** Uchycení do středu formuláře. - **Fill:** Automatické vyplnění celého formuláře. ### **Vlastnosti a události** Každý grafický prvek má vlastnosti, které definují jeho vzhled a chování. Události se spouštějí v reakci na uživatelské akce. **Příklad:** - Vlastnost `Text` tlačítka definuje jeho text. - Událost `Click` tlačítka se spustí po jeho kliknutí. [https://lh7-us.googleusercontent.com/docsz/AD_4nXdIwGuiGFzqX-wwvr6yergQ_3SuNcn0b-EvLv9E4KtJbhHmGuM3vWZ-iIdNhw1DVUj3TgZdxKKDZqXP-Jul4FvzyMyb5OLsL5hoA5B70BfZNBhvvarrAMhM0vOOSQZGzU2bNDOd0PcLGO2gux8PbxfRIdC-?key=TdJHzJ8yu4t4R2LmYIHy2w](https://lh7-us.googleusercontent.com/docsz/AD_4nXdIwGuiGFzqX-wwvr6yergQ_3SuNcn0b-EvLv9E4KtJbhHmGuM3vWZ-iIdNhw1DVUj3TgZdxKKDZqXP-Jul4FvzyMyb5OLsL5hoA5B70BfZNBhvvarrAMhM0vOOSQZGzU2bNDOd0PcLGO2gux8PbxfRIdC-?key=TdJHzJ8yu4t4R2LmYIHy2w) ### **Grafické prvky** Windows Forms nabízí širokou škálu grafických prvků: - **Tlačítka:** Pro spouštění akcí. - **TextBoxy:** Pro zadávání textu. - **ListBoxy:** Pro výběr z více možností. - **ComboBoxy:** Pro výběr z rozbalovacího seznamu. - **Obrázky:** Pro zobrazování obrázků. - **Panely:** Pro uspořádání dalších prvků. [https://lh7-us.googleusercontent.com/docsz/AD_4nXf4CxOnanAnPA-yMNmJ228knePAyLEP00qK1VokV6VVnr2H1pXVALFYy2jQXChXcIBv-l398sxheHkZO0EIXv0hV9bMbjydWF_1d1DWTJ7a2PkjhK8ka-OgqjEasr0D46BzTyPqTBm0HjnqgRJcLZBMAW0?key=TdJHzJ8yu4t4R2LmYIHy2w](https://lh7-us.googleusercontent.com/docsz/AD_4nXf4CxOnanAnPA-yMNmJ228knePAyLEP00qK1VokV6VVnr2H1pXVALFYy2jQXChXcIBv-l398sxheHkZO0EIXv0hV9bMbjydWF_1d1DWTJ7a2PkjhK8ka-OgqjEasr0D46BzTyPqTBm0HjnqgRJcLZBMAW0?key=TdJHzJ8yu4t4R2LmYIHy2w) **Tipy:** - Používejte vhodné grafické prvky pro danou funkčnost. - Dodržujte konzistentní vzhled a chování prvků. - Pečlivě testujte funkčnost GUI. - Optimalizujte vzhled GUI pro různá rozlišení. Dobré pochopení Windows Forms vám pomůže vytvářet uživatelsky přívětivé a funkční okenní aplikace v jazyce C#.