Sie sind hier:
Lexikon/Glossar
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
Buy me a coffee
MENU
Start
Hauptseite
Angebote im Überblick
Kernkompetenzen
Softwareentwicklung
Beratung
Firmen-Schulungen
Offene Seminare
Online-Maßnahmen
Vorträge
Coaching
Support
Fachbücher
Fachartikel
Konditionen
Themen
Themenüberblick
Aktuelle Themen
Web & Cloud
Apps / Mobilplattformen
Benutzeroberflächen / User Experience
.NET
JavaScript/TypeScript
Java
Programmiersprachen/Sprachsyntax
Entwicklungswerkzeuge
Scripting
Softwareentwicklung allgemein
Datenbanken
Betriebssysteme und Virtualisierung
Microsoft Server-Produkte
Windows und Microsoft Office für Anwender
Allgemeine IT-Themen
Beratung
Beratungsthemen
Coaching
Softwareentwicklung
Technischer Support
Unsere Top-Berater
Referenzkunden
Angebotsanfrage
Individuelle Schulungen
1020 Schulungsthemen
Agendakonfigurator
Weiterbildungsphilosophie
Didaktische Konzepte
Vor-Ort oder Online
Unsere Top-Trainer
Referenzkunden
Teilnehmerfeedback
Angebotsanfrage
Offene Seminare
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI
Blazor
ASP.NET WebAPI & gRPC
Entity Framework Core
Unit Testing / TDD
PowerShell
Infotage
Wissen
Übersicht
Fachbücher
Fachartikel
Konferenzvorträge
Konferenzen/Events
Spickzettel
Lexikon/Glossar
Programmcodebibliothek
Versionshistorie
Weblog
Downloads
Newsletter
Community-/Leserportal
Registrierung
.NET/C#/Visual Studio
.NET 8.0
.NET 7.0
.NET 6.0
ASP.NET (Core)/Blazor
PowerShell
Über uns
Kontakt
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Top-Experten
Leitung & Kundenteam
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Konditionen
Stellenangebote
Weitere Websites
Impressum
Datenschutzerklärung, Haftung, Urheberrecht
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Erklärung des Begriffs: Windows Forms (WinForms)
Begriff
Windows Forms
Abkürzung
WinForms
Eintrag zuletzt aktualisiert am
19.02.2025
Zur Stichwortliste unseres Lexikons
Was ist
Windows Forms
?
Windows Forms (oft abgekürzt mit WinForms) ist die älteste Desktop-Oberflächenbibliothek in .NET, die im klassischen .NET Framework-Setup, aber auch in den modernen .NET-Versionen in der .NET Desktop Runtime noch enthalten ist und dort auch weiterhin verbessert wird.
Windows Forms basiert auf der klassischen Windows-Programmierschnittstelle (Win32
API
). Man kann Windows Forms als eine
Wrapper
-Bibliothek verstehen für im Windows-Betriebssystem vorhandene Fenstertechniken und
Steuerelement
e. Zusätzlich wird in Windows Forms
GDI+
für die Grafikdarstellung verwendet (z. B. Zeichnen von Formen, Rendern von Text und Bildern).
Werkzeuge
Es gibt innerhalb der
Entwicklungsumgebung
Visual Studio
einen mächtigen
WYSIWYG
-Designer für Windows Forms-Oberflächen. Der Designer erzeugt aber nicht, wie heute in
GUI
-Frameworks üblich, eine Markup-Sprache, sondern einen Programmcode in C# oder
Visual Basic .NET
. Entwicklerinnen und Entwickler, die die Oberfläche lieber durch Eintippen statt Klicken erstellen wollen, können den
GUI
-Programmcode selbst schreiben, das ist aber aufwändig und fehleranfällig. Daher ist der Einsatz des Designers Usus.
Design
Windows Forms-Anwendungen mit reinen Bordmitteln wirken aus heutiger Design-Sicht optisch altbacken. Die Anpassung des Designs der
Steuerelement
e ist grundsätzlich möglich, aber in der Implementierung oft sehr aufwändig. Es gibt aber einige kommerzielle
Steuerelement
anbieter, die zahlreiche Windows Forms-
Steuerelement
e mit modernem Look & Feel und Anpassbarkeit durch Theming anbieten.
Steuerelement
e
Microsoft liefert in Windows Forms einige Basissteuerelemente mit, aber höherwertige
Steuerelement
e wie
Wizard
s, Ribbons, Karusselle, Docking Manager, Diagramme, Tabellenkalkulationen, Kalender, Berichte, PDF-Viewer u.a. muss man kaufen bei
Komponente
nanbietern wie DevExpress, Syncfusion, Telerik, Infragistics und Component One (siehe Tabelle). Microsoft sieht sich selbst als Anbieter der Basisinfrastruktur und hat keinerlei Bestrebungen, höherwertige
Steuerelement
e anzubieten. Das gilt nicht nur für Windows Forms, sondern für alle
GUI
-Frameworks von Microsoft.
Ausgewählte kommerzielle
GUI
-
Komponente
nanbieter für Windows Forms
DevExpress WinForms Component Subscription
https://www.devexpress.com/products/net/controls/winforms
/
Telerik UI for WinForms
https://www.telerik.com/products/winforms.aspx
Syncfusion WinForms UI Controls Library
https://www.syncfusion.com/winforms-ui-controls
MESCIUS (vormals GrapeCity) ComponentOne Studio for WinForms
https://www.grapecity.com/componentone/net/winforms
Infragistics Ultimate UI for Windows Forms
https://www.infragistics.com/products/windows-forms
Text Control TX Text Control .NET
https://www.textcontrol.com/products/
Xceed Grid, Chart, Editors, Input
Validator
, Docking
Windows
https://xceed.com/products/winforms-activex/
Actipro Windows Forms Controls
https://www.actiprosoftware.com/products/controls/windowsforms
Windows Forms im klassischen .NET Framework
Windows Forms wurde in
.NET Framework 1.0
(erschienen am 13. Februar 2002) eingeführt und bekam in
.NET Framework 2.0
einen großen Schub durch zahlreiche neue und verbesserte
Steuerelement
e. Windows Forms wurde im klassischen .NET Framework aber seitdem nicht mehr wesentlich weiterentwickelt, da Microsoft mit
.NET Framework 3.0
die
Windows Presentation Foundation
(WPF) als Alternative eingeführt hat.
Windows Forms im modernen .NET
Am 23. September 2019 erschien Windows Forms dann aber im Rahmen von
.NET Core 3.0
auch für das moderne .NET [
https://www.heise.de/hintergrund/Umstieg-auf-NET-Core-Desktop-Anwendungen-mit-WPF-und-Windows-Forms-umstellen-4640058.html
], läuft aber trotz der grundsätzlichen Plattformunabhängigkeit von .NET Core auch damit nur auf Windows. In
.NET Core 3.1
hat Microsoft einige ältere Windows Forms-
Steuerelement
e ausgebaut, obwohl es diese in
.NET Core 3.0
schon gab [
https://www.heise.de/blog/NET-Core-3-1-ist-ein-ungewoehnliches-Release-4612970.html
]. Das war ein Verstoß gegen das Semantic Versioning, für den Microsoft sich aber entschuldigte [
https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/
]. Beweggrund für diese unerlaubten Breaking Changes war, dass Microsoft es sich bei der Portierung des Windows Forms-Designers für
Visual Studio
einfacher machen wollte. Die entfernten
Steuerelement
e sind alles
Steuerelement
e, die in
.NET Framework 1.0
eingeführt wurden und für die es ab
.NET Framework 2.0
bessere Alternativen gab. Weitere ältere
Steuerelement
e sind in
.NET 5.0
entfallen
https://docs.microsoft.com/en-us/dotnet/core/compatibility/windows-forms/5.0/winforms-deprecated-controls;
dies stellte aber dann jedoch keinen Bruch gegen die Regeln des Semantic Versioning dar. Eine Migration einer Windows Forms-Oberfläche vom klassischen .NET Framework zum modernen .NET ist sehr unaufwändig, sofern man nicht die älteren
Steuerelement
e verwendet, die entfallen sind.
Migration einer Windows Forms-Oberfläche vom klassischen .NET Framework zum modernen .NET
Eine Migration einer Windows Forms-Oberfläche vom klassischen .NET Framework zum modernen .NET ist sehr unaufwändig, sofern man nicht die älteren
Steuerelement
e verwendet, die entfallen sind.
Windows Forms auf anderen Plattformen
Die Windows Forms-Implementierung im Rahmen von Microsoft .NET läuft nur auf Windows, auch im modernen, plattformneutralen .NET. Es gibt auch eine plattformneutrale Implementierung von Windows Forms im Rahmen des Mono-Projekts. Mono ist eine Nachimplementierung des klassischen .NET Frameworks einschließlich Windows Forms und
ASP.NET
Model View Controller (
MVC
).
Im Rahmen von "
One .NET
" nicht aus Mono in das moderne .NET übernommen wurde das plattformneutrale Windows Forms. Allerdings hat das Wine-Projekt die alte Mono-Implementierung übernommen
https://gitlab.winehq.org/wine-mono/mono.
Die meisten Teile der Windows Forms-Implementierung sind seit Jahren nicht mehr angefasst worden, aber es gibt immer mal wieder einzelne kleinere Beiträge im Repository
https://gitlab.winehq.org/mono/mono/-/tree/main/mcs/class/
System.Windows.Forms
Verbreitung von Windows Forms
In Deutschland und weltweit arbeiten immer noch viele Entwicklerinnen und Entwickler an Windows Forms-Anwendungen. Dies sind aber primär bestehende Anwendungen. Neuentwicklungen mit Windows Forms sind selten und finden hauptsächlich in Entwicklungsteams statt, die bisher schon mit Windows Forms arbeiten. Diese Zielgruppe will Microsoft mit den neuen Features in Windows Forms fördern.
Namensraum
Die Windows Forms werden im
FCL
-Namensraum
System.Windows.Forms
bereitgestellt. In der Beta-Version des .Net Framework 1.0 hieß der Namensraum noch System.WinForms. Daher sprechen auch heute noch viele Entwickler kurz von "WinForms".
Standardisierung
Windows Forms gehören zu den Teilen der
.NET Framework Class Library
, die nicht Teil des
ISO
- und
ECMA
-Standards "CLI" sind.
Vergleich zu
Java
Pendants zu Windows Forms in
Java
sind Bibliothek wie das Abstract Window Toolkit (
AWT
), Swing und
Standard Widget Toolkit
(
SWT
).
Deployment von Windows Forms-Anwendungen
Beim Verteilen von fertigen Anwendungen muss man zwischen klassischen .NET Framework und modernem .NET unterscheiden. Beim klassischen .NET Framework hat man immer ein sogenanntes Framework Dependent Deployment (
FDD
): Bevor man die WPF-Anwendung verteilen kann, muss das .NET Framework installiert werden. Das
FDD
gibt es auch noch im modernen .NET. Alternativ können Entwicklerinnen und Entwickler eine Self-Contained-App kompilieren, die alle benötigen Teile der Laufzeitumgebung und alle benötigen Teile der Kernbibliothek mitbringt. Die Verbreitung von Windows Forms-Anwendungen erfolgt über Installationsverfahren wie
ClickOnce
, MSI,
MSIX
, Microsoft Store, InstallShield, Inno Setup, Chocolatey,
WinGet
etc.
Neuerungen in Windows Forms in
.NET Core 3.0
Application.SetHighDpiMode(HighDpiMode.PerMonitorV2)
Neuerungen in Windows Forms in
.NET 5.0
Neues
Steuerelement
: TaskDialog = ausgebaute Messagebox
ListView
mit zusammenklappbaren Gruppen
FileDialog mit mehrfach-Zustand via ClientGuid
Verbesserungen für UI-Automation
Neuerungen in Windows Forms in
.NET 6.0
Windows Forms auf Windows Arm64
Application.SetDefaultFont()
Designer Hosting (wie in .NET Framework)
Neuerungen in Windows Forms in
.NET 7.0
Unterstüzuung für
Model-View-ViewModell
(
MVVM
) insbesondere durch Icommand
Neuerungen in Windows Forms in
.NET 8.0
MVVM
nun offiziell stabil
Neuerungen in Windows Forms in
.NET 9.0
Dark Mode
Mehrfachauswahl im
Steuerelement
FolderBrowserDialog
Das Control-
Steuerelement
, von dem alle
Steuerelement
e in Windows Forms und auch das Formular als solches erbt, besitzt nun eine
Methode
InvokeAsync() zur einfachen Ausführung asynchroner Aufgaben.
Weitere Ressoucen auf dieser Website
Referenzliste Softwarekomponenten für das .NET Framework (Produktreferenz)
Querverweise zu anderen Begriffen im Lexikon
Windows Presentation Foundation (WPF)
.NET Framework Class Library (FCL)
Standard Widget Toolkit (SWT)
Model-View-ViewModell (MVVM)
System.Windows.Forms
Entwicklungsumgebung
.NET Framework 1.0 (.NET 1.0)
.NET Framework 3.0 (.NET 3.0)
.NET Framework 2.0 (.NET 2.0)
Visual Basic .NET (VB.NET)
Visual Studio (VS)
Steuerelement
.NET Core 3.0
.NET Core 3.1
Komponente
ClickOnce
Validator
.NET 8.0 (.NET 8)
.NET 7.0 (.NET 7)
.NET 6.0 (.NET 6)
.NET 5.0 (.NET 5)
One .NET
.NET 9.0 (.NET 9)
ListView
Methode
Wrapper
Wizard
Java
What You See Is What You Get (WYSIWYG)
Active Server Pages .NET (ASP.NET)
Windows Package Manager (WinGet)
European Computer Manufacturers Association (ECMA )
MSIX Windows Application Packaging (MSIX)
Graphics Device Interface+ (GDI+)
Model-View-ViewModell (MVVM)
Mode-View-Controler Framework (MVC)
Framework-dependent Deployment (FDD)
International Standardization Organization (ISO)
Application Programming Interface (API)
Framework Class Library (FCL)
Abstract Windowing Toolkit (AWT)
Standard Widget Toolkit (SWT)
Graphical User Interface (GUI)
Beratung & Support
Beratung/Consulting: Umstellung/Migration/Umstieg von Windows Forms-Anwendungen von .NET Framework auf das moderne .NET
Beratung/Consulting: .NET-Performanceprobleme / Leistungsprobleme
Beratung/Consulting: Benutzerschnittstellentechnik auswählen (UI-/Frontend-Techniken)
Beratung/Consulting: Umstellung/Migration/Umstieg von .NET Framework auf das moderne .NET
Anfrage für Beratung/Consulting zu Windows Forms WinForms
Gesamter Beratungsthemenkatalog
Technischer Support zum Windows Forms WinForms
Schulungen zu diesem Thema
Windows-Desktop-Anwendungen: Von den .NET- und C#-Grundlagen zu Windows Forms und Windows Presentation Foundation (WPF)
Windows-Anwendungen mit Windows Forms - Aufbauwissen
Windows-Anwendungen mit Windows Forms - Basiswissen
Neuerungen in .NET Core 3.0/3.1 gegenüber Version 2.x (inkl. ASP.NET Core, Entity Framework Core, WPF und Windows Forms)
Umstieg auf Windows Forms Core 8.0/9.0/10.0 in .NET 8.0/9.0/10.0 (Umstellung/Migration von Windows Forms-Anwendungen von .NET Framework auf .NET 8.0/9.0/10.0)
Neuerungen in Windows Forms 2.0
Hybride Anwendungen mit .NET und CefSharp (Einbindungen von Webanwendungen in WPF- und Windows Forms-Desktopanwendungen)
Umstieg von .NET-Desktop-Entwicklung (WPF/Windows Forms) auf Webentwicklung (ASP.NET/ASP.NET Core + JavaScript/TypeScript mit Webframeworks wie Angular, Vue.js oder React)
Microsoft 365 für Softwareentwickler (Microsoft 365 Development)
Visual Studio für Einsteiger
.NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für das klassische .NET Framework und/oder das moderne .NET)
.NET-/.NET Core-Entwickler-Update 2019
Visual Basic .NET für Umsteiger von VBA/VB 4/5/6
Entity Framework Core 8.0/9.0/10.0 (EF Core 8.0/9.0/10.0): Objekt-Relationales Mapping (ORM) für .NET 8.0/9.0/10.0 (komplettes Wissen)
Task Parallel Library (TPL) - Parallelprogrammierung/Multi-Threading in .NET/C#
Open Data Protocol (OData) mit WCF Data Services und/oder ASP.NET WebAPI und/oder RESTier
.NET und C# für Umsteiger von klassischem Visual Basic/COM
"End-to-End": Eine Best Practices-Softwarearchitektur für eine .NET-Anwendung von der Datenbank bis zur Benutzeroberfläche
.NET Akademie: Datenbankprogrammierung mit Entity Framework Core (3-Tages-Agenda des öffentlichen Seminars)
Multi-Threading in .NET mit C#/Visual Basic .NET und/oder C++ und C++/CLI
.NET Framework 3.5 Service Pack 1 und Visual Studio 2008 Service Pack 1
ASP.NET Webforms im Überblick - Weboberflächen mit .NET
Windows Application Packaging Projects (MSIX)
Visual Studio 2005 (Visual Studio 8.0 "Whidbey")
.NET-Basisklassenbibliothek (.NET Base Class Library)
Visual Studio Tipps & Tricks - Effizienter Programmieren mit Visual Studio
ADO.NET Entity Framework (EF) - Objekt-Relationales Mapping
.NET 9.0 - Änderungen und Neuerungen gegenüber .NET 8.0
Moderne Web-Anwendungen mit Blazor (Blazor United und/oder Blazor SSR und/oder Blazor WebAssembly und/oder Blazor Server und/oder Blazor Hybrid)
Umstieg auf .NET 8.0/9.0/10.0 - Entwicklerworkshop mit allen Anwendungsgebieten (Umstellung/Migration von klassischem .NET Framework zu .NET 8.0/9.0/10.0)
Anfrage für eine individuelle Schulung zum Thema Windows Forms WinForms
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr