A collection of C# Windows Forms (WinForms) learning projects built with .NET 8. Each folder is a self-contained mini-app that demonstrates a single UI control, dialog, or layout concept — a hands-on walk through building desktop applications in C#.
These are learning exercises: small, focused, and easy to read one at a time.
- .NET 8 SDK (or later)
- Windows (WinForms is Windows-only)
- Visual Studio 2022 or JetBrains Rider (optional, for the designer)
Each project is self-contained with its own .sln and .csproj, so you can open
and run it directly:
# run a single project (e.g. the ComboBox example)
cd ComboBox/ComboBox
dotnet runOr open the .sln for any project in Visual Studio and press F5.
| Project | What it demonstrates |
|---|---|
hellofourm |
Hello World — the basic WinForms window and startup flow |
centeringFourm |
Centering a form on the primary screen |
FourmUsingCode |
Building a form entirely in code (no designer) |
multiFourms |
Working with multiple forms in one application |
BtnWithTextBox |
Button + TextBox interaction |
checkboxes |
CheckBox controls |
RaidoBoxOnPanel |
RadioButtons grouped inside a panel |
ComboBox |
ComboBox control |
ListBoxes |
ListBox control |
ListCheckBox |
CheckedListBox control |
NumericUpDown |
NumericUpDown control |
TrackerBar |
TrackBar control |
ProggressBars |
ProgressBar control |
TextBoxMasked |
MaskedTextBox — enforcing input masks |
PictureBox |
PictureBox control |
LinkLable |
LinkLabel control |
Times |
Timer control (animating a control) |
DateTimeTool |
DateTimePicker control |
MounthCalanderTool |
MonthCalendar control |
ColorControl |
Working with colors |
ColorDialogs |
ColorDialog for picking colors |
OpenFileDialog |
OpenFileDialog for selecting files |
FileterOpenFileDialog |
OpenFileDialog with file-type filters |
saveFileDialog |
SaveFileDialog for saving files |
FileCopier |
Copying files through a dialog |
MessageBoxTest |
MessageBox usage |
PanelAndGroupBox |
Panel and GroupBox layout containers |
FlowLayoutPaneL |
FlowLayoutPanel dynamic layout |
ControlsArray |
Managing arrays of controls |
ForEeachAllControls |
Iterating over all controls with foreach |
RemoveControls |
Adding/removing controls at runtime |
DataManagementApp |
A simple data-management form (ListBox add/remove) |
RunStuff |
Scratch/starter project skeleton |
WinFormsApp |
Default WinForms template app |
- All WinForms projects target
net8.0-windowswithUseWindowsForms.
Free to use and modify.