Windows Forms
Pro práci s Windows Forms doporučuji používat plnohodnotné Visual Studio. Pokud máte Linux nebo macOS, podívejte se níže.
Visual Studio
Visual Studio má k dispozici grafický editor pro tvorbu UI, proto doporučuji ho pro práci s WinForms používat.
Založení nového projektu by mělo být snadné, stačí zvolit typ projektu Windows Forms App. Pokud by vás mátlo, že existuje také typ projektu Windows Forms App (.NET Framework), tak ten je pro starší verze .NET (ale taky by to mělo fungovat).
Visual Studio Code
Ve VS Code můžete nový WinForms projekt založit příkazem dotnet new winforms
. Nevýhoda oproti VS je, že nemáte k dispozici grafický editor UI. Ten ovšem není pro tvorbu aplikací nutný, jen je to s ním pohodlnější.
Rider
Pokud používáte Rider, tak v něm taky grafický editor UI existuje, ale jen na Windows a pro projekty v .NET Framework (tedy starší verze, pro aktuální .NET Core nefunguje).
Linux a macOS
Podpora WinForm na Linuxu a macOS teoreticky existuje (přes Mono), ale spíš bych doporučil použít jiný UI framework, například Avalonia (ten by měl fungovat jak na Linuxu, macOS, tak i Windows). Případně taky existuje MAUI.
Avalonia
Instalace: dotnet new install Avalonia.Templates
Nový projekt: dotnet new avalonia.app
(pro začátek doporučuji používat Avalonia App, ne Avalonia MVVM App)
Úlohy na procvičení
Kalkulačka
Naprogramujte jednoduchou kalkulačku ve Windows Forms. Kalkulačka by měla mít dva vstupy pro zadání čísel a čtyři tlačítka odpovídající operacím (+
, -
, *
, /
). Po kliknutí na tlačítko se zobrazí výsledek.
Nezapomeňte ošetřit dělení nulou. Můžete třeba ukázat chybovou hlášku (MessageBox
) nebo znemožnit kliknutí (pomocí Enabled
) na tlačítko pro dělení (doporučuji zkusit si obě možnosti).
Učební výstupy
Učební výstupy podávají zhuštěný souhrn základních konceptů a dovedností, které byste měli umět vysvětlit a/nebo použít po každém cvičení.
- Vytvořit v C# aplikaci s uživatelským rozhraním.
- Vytvořit ovládací prvky UI (tlačítka, …) a nastavit jejich pozici a vlastnosti.
- Zpracovávat události ovládacích prvků (kliknutí na tlačítko).