Windows Forms ist ein GUI-Toolkit im .Net-Framework und im .NET. Es ermöglicht die Erstellung grafischer Benutzeroberflächen (GUIs) für Windows. Dies geschieht im Wesentlichen durch das Wrappen der existierenden Windows API in Managed Code.
Im Rahmen des Mono-Projekts steht Windows Forms weitgehend auch unter Linux und macOS (Carbon; bis 10.14) zur Verfügung. Diese Portierung wird nicht weiter entwickelt.
Im Vergleich zu Microsoft Foundation Classes (MFC), die auf der Programmiersprache C++ basiert, ist der Einstieg in die Programmierung mit Windows Forms einfacher. Das Framework basiert nicht auf dem Paradigma Model View Controller (MVC).
Mit .NET Framework 3.0 wurde von Microsoft eine Alternative zu Windows Forms bereitgestellt, die Windows Presentation Foundation, welche eine stärkere Trennung der grafischen Oberfläche vom Programmcode und – unter Zuhilfenahme von XAML, einer XML-basierenden Sprache – ein dynamischeres Layout ermöglicht.
Nachfolgend ein einfaches C#-Programm, das Windows Forms benutzt.
using System;
using System.Windows.Forms;
public class HalloWelt
{
[STAThread]
public static void Main()
{
var form = new Form();
var button = new Button();
button.Text = "Hello World!";
form.Controls.Add(button);
form.Show();
Application.Run(form);
}
}