Windows Forms 2.0

Veröffentlicht: 07. Apr 2005

Von Jürgen Mauerer

Windows Forms sind das Programmiermodell des .NET Framework für die Gestaltung der grafischen Benutzeroberfläche (GUI). Mit dem .NET Framework 2.0 gibt es auch eine neue Version von Windows Forms. Dieses Feature zeigt auf Basis der Beta 1, mit welchen Funktionen Windows Forms 2.0 aufwartet.

Auf dieser Seite

 Windows Forms 2.0 – eine Einführung
 Neue Controls
 ClickOnce, Designer und Laufzeitumgebung

Windows Forms 2.0 – eine Einführung

Das Jahr 2005 läutet eine neue Ära bei Microsoft .NET ein. In der zweiten Jahreshälfte erscheint mit Visual Studio 2005 (Codename Whidbey) eine neue Version der .NET-Entwicklungsumgebung. Parallel veröffentlicht Microsoft das .NET Framework 2.0 mit vielen Neuerungen in der Common Language Runtime (CLR) und der Base Class Library (BCL) sowie neuen Versionen von ASP.NET, ADO.NET und auch Windows Forms.

Windows Forms 2.0 sind Teil von Visual Studio 2005 und dem .NET Framework 2.0. Visual Studio 2005 unterstützt die neuen Klassen von Windows Forms 2.0, die um eine Reihe neuer Controls erweitert wurden, mit denen sich Anwendungen deutlich einfacher als bisher um zusätzliche Funktionalitäten erweitern lassen. Dazu gehören das Webbrowser-Control, mit dem sich HTML-Inhalte einfach in eigenen Windows Forms-Anwendungen darstellen lassen, das ToolStrip-Control für ToolBars, Menüleisten und die Statuszeile sowie neue Data Controls wie DataGridView oder DataConnector.

Die neuen Controls vereinfachen die Entwicklung von professionell aussehenden Client-Applikationen auch durch den verbesserten Umgang mit Daten (vor allem bei der Datenbindung) – und das in kürzerer Zeit und mit weniger Zeilen Code denn je. Windows Forms 2.0 haben auch das Ziel, die Verteilung und den Einsatz von Client-Applikationen so leicht wie den von Web-Applikationen zu machen. Dabei hilft ClickOnce, eine neue Bereitstellungstechnologie für Windows Forms, die in Visual Studio 2005 enthalten ist. ClickOnce reduziert die Kosten und den Aufwand für den Einsatz, die Verteilung und die Wartung von Client-Applikationen

Neu beim Forms-Editor ist zudem der Betriebsmodus „Property-Editing View“. In dieser Ansicht werden die Namen der einzelnen Controls direkt in einem Tooltip im Forms-Editor angezeigt. Klickt man darauf, mutiert das Tooltip in ein Edit-Control, in dem man den Namen des Elements ganz nach Wunsch eingeben kann.

Windows Forms 1.x
Die grafische Benutzeroberfläche (GUI) ist die Visitenkarte jeder Anwendung. Das .NET Framework bietet mit Windows Forms ein GUI-Programmiermodell, mit dem Entwickler Fenster oder Steuerelemente in beliebiger Form erzeugen können. Dieses Feature zeigt, was hinter Windows Forms steckt.

Visual Studio 2005
Die kommende Entwicklungsumgebung Visual Studio 2005 (Codename Whidbey) ist eng mit dem .NET Framework 2.0 und all seinen Neuerungen verbunden. Dieses Feature zeigt auf Basis der Beta 1, mit welchen neuen Funktionen und Erweiterungen Visual Studio 2005 aufwartet.

 

Neue Controls

Eine der wesentlichen Verbesserungen von Windows Forms 2.0 sind die vielen neuen Controls. Hier eine Auswahl der wichtigsten neuen Steuerelemente.

WebBrowser-Control
Das WebBrowser-Control wrappt das ActiveX-Browser-Control des Internet Explorers und ist sehr einfach zu nutzen. Entwickler können dadurch mit Hilfe eines einfachen Managed Objekt-Modells HTML-Inhalte in eigenen Windows Forms-Anwendungen bereitstellen, ohne mit unmanaged Code arbeiten zu müssen. Sie können dabei alle Standard-Operationen des ActiveXBrowser-Controls durchführen, z.B. die Navigation oder die Aktivierung/Deaktivierung des Kontextmenüs des Browsers.

Active Document Host
Dieses Control erlaubt die Bereitstellung von OLE-Dokumenten, die das Entwickeln von Anwendungen ermöglicht, die Word- oder PDF-Dokumente darstellen. Das Control bietet dabei unter anderem die Option an, die Menüs oder die Werkzeugleiste sichtbar zu machen oder zu verbergen. Man kann zudem bestimmen, wie das Dokument aktiviert wird, z.B. durch Mausklick oder nie.

SoundPlayer
Dieses Control bietet die Option, Audio-Files abzuspielen, die von Dateien, Streams oder voreingestellten System-Sounds stammen. Die Sound-Files lassen sich auch asynchron abspielen. Die SoundPlayer-Komponente befindet sich in der Toolbox und kann jeder Form hinzugefügt werden, wobei es kein User Interface für den SoundPlayer gibt. Es ist üblich, den SoundPlayer im Code zu nutzen, der die Eigenschaften des Sounds definiert. Der Start erfolgt hier über die Play()-Methode. Es ist auch möglich, die SoundLocation im Designer zu definieren und den Smart Tag des SoundPlayers für das Abspielen zu nutzen. Übrigens unterstützt das Control ausschließlich das WAV-Format.

DataGridView-Control
Dieses Control ersetzt in Windows Forms 2.0 das DataGrid-Control und ist einfacher zu benutzen sowie leistungsfähiger als dieses. Im Design-Modus ist es sehr einfach, die Eigenschaften der Datenquelle zu bestimmen; pro Spalte der Datenquelle gibt es im Grid eine eigene Spalte. Das DataGridView kommt mit TextBox, CheckBox, Image, ComboBox, Link und verschiedenen Zell-Typen. Andere Typen von Zellen oder Spalten lassen sich leicht hinzufügen. Das Control unterstützt viele Datenquellen für die Datenbindung (u.a. SQL Server). Für die Formatierung von Zellen, Zeilen oder Spalten gibt es verschiedene Stile für Hintergrundfarbe, Schriftfarbe oder -größe etc.

SplitContainer
Dieses Control ersetzt das bisherige Splitter-Control und ist intuitiver zu nutzen, sowohl im Design-Modus als auch im Laufzeit-Modus. Das SplitContainer-Control besteht aus zwei Formen und dem Splitterelement selbst. Durch dieses Modell ist klar, welches Element geteilt werden soll. Zudem ist es dadurch sehr leicht, Controls auf jede Form zu setzen, um das gewünschte Layout zu erreichen. Der Splitter kann im Design-Modus verändert werden; die Controls zeigen das neue Layout dann in WYSIWYG-Manier an.

MaskedTextBox
Dieses neue Control erlaubt Entwicklern, Eingabemasken so zu spezifizieren, dass sie die Form des akzeptierten Inputs erkennen. Die Sprache der Maske ähnelt der des VB6 MaskEd-Controls und der der Access-Maske. Im Laufzeit-Modus löst die MaskedTextBox ein Ereignis aus, wenn ein ungültiges Zeichen eingegeben wird. Das Control unterstützt zudem Datenbindung über die Eigenschaften InputText und OutputText.

ToolStrip
Das ToolStrip-Control hilft bei der professionellen Kreation von Anwendungs-Elementen wie Startleiste, ToolBars, Menüleisten oder der Statuszeile.

Windows Forms 2.0 für Developer
Auf dieser Unterseite des Smart Client Developer Centers finden Sie wichtige Informationen zu Windows Forms 2.0. In englischer Sprache.

Windows Forms 2.0 FAQ
Auf dieser englischsprachigen Webseite finden Sie Fragen und Antworten rund um Windows Forms 2.0.

Features von Windows Forms 2.0
Windows Forms 2.0 enthalten viele neue Funktionen, die die Produktivität der Entwickler steigern und verblüffende optische Verbesserung für Applikationen ermöglichen. Lesen Sie, welche neuen Controls, Designer- und Laufzeitumgebungs-Funktionen Windows Forms 2.0 bietet. In englischer Sprache.

Windows Forms “Whidbey”
Windows Forms ist eine der Kern-Plattformen für die Entwicklung von Smart Client-Applikationen. Auf dieser englischsprachigen Webseite finden sie wichtige Informationen rund um das GUI-Programmiermodell des .NET Framework 2.0.

 

ClickOnce, Designer und Laufzeitumgebung

Weitere Neuheiten bei Windows Forms 2.0 betreffen den Designer, die Laufzeitumgebung sowie ClickOnce.

Designer

  • ToolStrip-Designer
    Der ToolStrip-Designer für Menüleisten und Toolbars bietet viele Funktionen, darunter Copy/Paste zwischen verschiedenen Ebenen oder verschiedenen Formen, Drag & Drop zur Neuformierung von Elementen oder die Umwandlung eines ToolStrip-Buttons zu einem ToolStripDropDown-Button über einen einzigen Mausklick. Bei letzterer Aktion bleiben alle Eigenschaften des Buttons erhalten.

  • Smart Tags
    Der Windows Forms 2.0-Designer erlaubt es, Smart Tags direkt von der Oberfläche des Designers aus zu erstellen. Smart Tags stellen kontextabhängig Informationen und Funktionen bereit. Bewegt der Nutzer den Mauszeiger auf die Oberfläche eines Steuerelements, erscheint ein Smart Tag-Anker, der auf Klick ein Fenster öffnet, das die Eigenschaften des Controls sowie die Tätigkeiten auflistet, die der Entwickler durchführen kann, ohne Code schreiben zu müssen. Ein Beispiel ist die DataSource-Eigenschaft des DataGridView-Controls. Dieses Smart Tag ermöglicht dem Entwickler, eine Datenquelle auszuwählen, ohne den Designer verlassen zu müssen.

  • Document Outline
    Dieses Fenster des Windows Forms 2.0-Designers bietet Entwicklern eine Container-basierte, hierarchische Ansicht der Form. Es unterstützt Drag & Drop für den Transport des Controls in einen anderen Container und bietet ein Kontextmenü mit den Befehlen Ausschneiden, Kopieren, Einfügen und Umbenennen. Die Umbenennung des Controls ist auch über die Funktionstaste F2 möglich.

  • Snapline
    Die Snapline ist eine Art Trennlinie zwischen zwei Controls, um diese im Design-Modus besser unterscheiden zu können, wenn die Controls sehr nah zusammen platziert werden. In Windows Forms 2.0 haben alle Controls Eigenschaften für ihre Ränder und Grenzen, die den Mindest-Abstand zwischen den Controls bestimmen und durch die Snaplines markiert sind. Die Snaplines dienen daher vor allem der besseren Übersichtlichkeit, damit der Entwickler die Controls schnell platzieren kann.

Laufzeitumgebung

  • Windows XP Style
    Windows Forms 2.0 unterstützt jetzt die Visual Styles von Windows XP. Die Laufzeitumgebung der Windows Forms hat sich ebenfalls verändert, so dass die Controls die Visual Styles schon in der Standardeinstellung aufbauen. Es ist daher nicht mehr notwendig, die FlatStyle-Eigenschaften der Controls auf FlatStyle.System zu stellen, um Visual Styles zu erhalten. Informationen über den aktuell eingesetzten Visual Style gibt es in der neuen VisualStyleInformation-Klasse; das Zeichnen von Teilen der Visual Styles wie Symbolleisten oder Schaltflächen ist über neue Klassen wie ButtonRenderer möglich.

  • Verbesserte Client-Konfiguration
    Windows Forms 2.0 verbessert dank neuer Funktionen die Client-Konfiguration enorm. In früheren Versionen mussten Entwickler die speziellen Konfigurationsdaten einer Anwendung in einer application.exe.config-Datei speichern, die parallel zur ausführbaren Anwendung bereitgestellt wurde. Jetzt vereinfacht der Einsatz von starken Typen den Zugang zu den Einstellungen. Statt jedes Element in der API sichtbar in einer Liste zu speichern, werden Booleans als „Bools“ gespeichert, Aufzählungen als Aufzählungen etc.

Ein weiteres Feature sind Benutzereinstellungen, die vollen Schreib- und Lesezugriff erlauben und in der neuen user.config-Datei abgelegt sind. Diese Einstellungen lassen sich im Design-Modus neu erstellen beziehungsweise verändern. Über ein neues Providermodell ist es auch möglich, die Einstellungen über Web Services auf einem zentralen Server zu speichern.

ClickOnce

ClickOnce ist eine neue Bereitstellungstechnologie für Windows Forms, die in Visual Studio 2005 enthalten ist. Mit ClickOnce können Sie Anwendungen einfach installieren und Webanwendungen mit Smart Clients aktualisieren. Die Bereitstellung von Windows Forms-Anwendungen über HTTP ist seit der ersten Version des .NET Framework verfügbar und wurde seither ständig weiterentwickelt.

ClickOnce hat viele Vorteile. Dazu gehören transaktionsorientierte Aktualisierungen (d. h. vollständig oder gar nicht ausgeführt), die Integration in Visual Studio 2005 sowie eine ausführbare Win32-"Bootstrapper"-Datei, die erforderliche Komponenten herunterladen kann, sogar das .NET Framework selbst. Die Anwendung ermittelt zudem mit APIs, ob sie online oder offline ausgeführt wird, und kann sogar steuern, wie sie aktualisiert wird. Zudem lassen sich dank ClickOnce Anwendungsdateien nach Bedarf oder auch stapelweise herunterladen.

Verbesserte Datenverwaltung und –bindung

Visual Studio 2005 erleichtert die Arbeit mit Daten in Windows Forms, da man Daten per Drag & Drop an eine Form binden kann. Hilfe bietet hier ein neuer Konfigurations-Assistent, der eine beliebige Datenquelle an eine bestehende relationale Datenbank, einen Web Service oder ein Geschäfts-Objekt bindet. Das alles geschieht unter Visual Studio 2005 im Design-Modus.

Zudem gibt es einige Verbesserungen bei der einfachen Datenbindung. So ist es möglich, näher zu spezifizieren, wann gebundene Steuerelemente ihre Werte an die Datenquelle weitergeben. Zur Auswahl stehen beispielsweise bei Änderung der Eigenschaften oder Nie. Zudem ist die Formatierung flexibler, da man jetzt etwa DbNull-Werte erfassen kann.

Zu erwähnen ist hier noch die neue DataConnector-Komponente von Windows Forms 2.0. Sie wandelt einen einzelnen benutzerdefinierten Typ in eine echte Listendatenquelle umgewandelt, an die datengebundene Listensteuerelemente gebunden werden können.

Layout

Windows Forms 2.0 besitzt mit dem FlowLayoutPanel und dem TableLayoutPanel zwei spezielle Layout-Controls, die auch als „Layout Container“ bezeichnet werden. Sie enthalten selbst keine Benutzeroberfläche, stellen aber eine Logik für ihre Unter-Controls bereit. FlowLayoutPanel arrangiert Controls in einer fließenden Form. TableLayoutPanel bietet eine Reihe von Optionen für Benutzeroberflächen, die einem Gittermuster ähneln. Das Control unterstützt Spalten und Zeilen in beliebiger Größe.

Neu ist auch die AutoSize-Eigenschaft fast aller Controls, die die Größe des Elements der Größe seines Inhalts anpasst. So erweitern sich beispielsweise Schaltflächen oder Etiketten, wenn ihr Text sich erweitert, Forms werden größer, wenn sich das zugehörige Control vergrößert. Da sich bei reinem AutoSizing die Controls überlappen würden, gibt es die neue Funktion AutoRelocate. Sie positioniert die größer gewordenen Controls automatisch neu, so dass sie sich im Layout nicht überschneiden.

Windows Forms-Anwendungen mit ClickOnce
In diesem Artikel wird die ClickOnce-Technologie erläutert und mit anderen Bereitstellungstechnologien verglichen. Zudem zeigt der Autor, wie Sie ClickOnce in Ihren Anwendungen verwenden können. Dieser Artikel enthält auch Links zu englischsprachigen Seiten.

ClickOnce und MSBuild
Dieser englischsprachige Artikel beschreibt, wie Entwickler eine ClickOnce-Anwendung außerhalb von Visual Studio .NET über die Kommandozeile erstellen, indem Sie MSBuild nutzen.

Benutzerdefinierte Datenbindung in Windows Forms 2.0
Michael Weinhardt stellt Ihnen in diesem Artikel mehrere neue Designer-Verbesserungen und -Erweiterungen für Windows Forms 2.0 vor, mit deren Hilfe Sie einen einfachen benutzerdefinierten Typ in eine vollständige Listendatenquelle konvertieren können, ohne dazu eine einzige Codezeile schreiben zu müssen. Außerdem erhalten Sie Informationen zu zukünftigen Entwicklungen, die die Version Windows Forms 2.0 Beta 2 enthalten wird.

Der Klassen-Designer
Der Klassen-Designer von Visual Studio 2005 visualisiert die Struktur der Klassen sowie deren Beziehungen untereinander und erlaubt die Erstellung neuer Klassen in einer Design-Ansicht. In englischer Sprache.