Zum Inhalt springen

Windows Forms

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. September 2011 um 14:14 Uhr durch Gerd Fahrenhorst (Diskussion | Beiträge) (Vergleich zu anderen Programmierschnittstellen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Windows Forms ist der Name einer Programmierschnittstelle zur Erstellung graphischer Benutzeroberflächen (GUIs). Die API ist Teil des Microsoft .NET Frameworks und bietet Zugriff auf Elemente zur Erstellung von Microsoft-Windows-Benutzeroberflächen. Dies geschieht durch Wrappen der existierenden Windows API in Managed Code. Im Rahmen des Mono-Projekts steht Windows Forms weitgehend auch unter Linux und Mac OS X zur Verfügung.

Vergleich zu anderen Programmierschnittstellen

Windows Forms ersetzt die frühere, komplexere Microsoft Foundation Class Library, die auf der Programmiersprache C++ basiert. Kritisiert wird, dass das Framework nicht dem Paradigma Model View Controller folgt. Einige Bibliotheken anderer Anbieter bieten jedoch die hierzu notwendigen Funktionalitäten an – am meisten genutzt wird der „Process Application Block“[1], eine Bibliothek, die von Microsofts Entwicklergruppe patterns & practices zum freien Download zur Verfügung gestellt wurde. Er enthält den Quellcode der Kernbibliothek und Beispiele, die den Einstieg erleichtern sollen. Die Microsoft-Nachfolge-GUI zu Windows Forms ist die Windows Presentation Foundation, welche eine stärkere Trennung der grafischen Oberfläche vom Programmcode, und ähnlich Html ein dynamischeres Layout ermöglicht.

Hallo Welt-Beispiel

Nachfolgend ein einfaches C#-Programm, das die Windows Forms-Bibliothek benutzt.

using System;
using System.Windows.Forms;

public class HalloWelt
{
   [STAThread]
   public static void Main()
   {
      Form form = new Form();
      Button b = new Button();
      b.Text = "Klicken!";
      b.Click += (s,e)=>{MessageBox.Show("Geklickt!");};
      form.Controls.Add(b);
      form.Show();
      Application.Run(form);
   }
}

Siehe auch

Einzelnachweise

  1. User Interface Process Application Block for .NET