Windows Forms (WinForms)

Eintrag zuletzt aktualisiert am: 11.11.2024

Windows Forms ist die älteste Desktop-Oberflächenbibliotheken in .NET, die aber auch in den modernen .NET-Versionen noch enthalten ist und dort auch weiterhin verbessert wird.

Geschichte

Windows Forms wurde in .NET Framework 1.0 eingeführt und wurde seit .NET Framework3.0 aber nicht mehr wesentlich weiterentwickelt, da Microsoft mit .NET 3.0 "Windows Presentation Foundation" (WPF) als Alternative eingeführt hat. Seit .NET Framework 3.0 erfährt Windows Forms Konkurrenz im eigenen Lager durch die Windows Presentation Foundation (WPF). Trotz der viel reichhaltigeren Grafikmöglichkeiten in WPF, setzen viele Entwickler von typischen Geschäftsprozeßanwendungen weiterhin auf Windows Forms, da es WPF (auch in .NET 3.5) noch an Steuerelementen und Werkzeugen mangelt.

Am 23.9.2019 erschien Windows Forms auch im Rahmen von .NET Core 3.0, läuft aber trotz der grundsätzlichen Plattformunabhängigkeit von .NET Core nur auf Windows.

Seitdem gibt es mit jeder neuen Version des modernen .NET auch eine neue Version Windows Forms mit kleineren Verbesserungen

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 FCL, 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 SWT.

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

Neuerungen in Windows Forms in .NET 9.0

  • Mehrfachauswahl im Steuerelement FolderBrowserDialog
  • Das Control-Steuerelement, von dem alle Steuerelemente in Windows Forms und auch das Formular als solches erbt, besitzt nun eine Methode InvokeAsync() zur einfachen Ausführung asynchroner Aufgaben.