Visual Basic .NET: Einstieg in Windows Forms

Aus Wikibooks

Nun wissen Sie, was es mit Klassen und Objekten im Grundprinzip auf sich hat. Nun wollen wir sehen, wie damit eine grafische Oberfläche beschrieben und erstellt werden kann. Werfen Sie dazu einen Blick auf die folgenden zwei Zeilen Code.

Code:  

Private Class Form1

End Class

Wie man am Schlüsselwort Class erkennt, ist Form1 kein Objekt (wie wir bisher vereinfachend formuliert hatten), sondern eine Klasse. Die Klasse Form1 beschreibt das Hauptfenster des jeweiligen Programmes. Damit man nicht mit jedem Fenster das Rad neu erfinden muss, wird die Klasse Form1 von der Klasse System.Windows.Forms.Form abgeleitet. (Was es mit Ableitung auf sich hat, sehen wir später.) Die Klasse Form befindet sich im Namensraum System.Windows.Forms. Dieser Namensraum zeigt uns, dass Namensräume verschachtelt sein dürfen, und wird uns in den nächsten Abschnitten noch oft beschäftigen.

Doch zurück zu Form1: Die Ableitung von Form bedeutet, dass die Basisfunktionalität (Funktionen wie Öffnen und Schließen, Eigenschaften wie Größe und Fenstertitel, Ereignisse wie Größenänderung und Angeklickt) von Form übernommen wird. Die Klasse Form1 legt das spezifische Verhalten des entsprechenden Fensters fest, zum Beispiel wie der Inhalt des Fensters aussieht. Bis jetzt haben wir meist da nur eine Festlegung getroffen. Und zwar haben wir Code geschrieben, der aufgerufen wird, wenn das Fenster geladen wird.

Einige Steuerelemente in einem Visual-Basic-Programm. (Der Fensterrahmen wurde aus urheberrechtlichen Gründen entfernt.)

Intern werden sogenannte Ereignisse ab sofort der Dreh- und Angelpunkt unserer Programme sein. Bestimmte Ereignisse (bis jetzt nur das Laden des Fensters) können mit Funktionen verknüpft werden, die Funktionen werden dann automatisch aufgerufen, wenn das jeweilige Ereignis eintritt. Die Verknüpfung geschieht mit der Handles-Direktive, die an eine Funktionsdeklaration hinter die Parameterliste hinten dran gehängt wird. (Sie heißt deshalb Direktive, weil sie keine eigenständige Anweisung, sondern Teil einer Anweisung ist.)

Jetzt haben wir also ein Fenster und seine Ereignisse. Trotzdem lässt sich mit einem Fenster noch nicht viel anfangen. Den Fensterinhalt können wir aber mit sogenannten Steuerelementen bestimmen. Der Screenshot rechts zeigt drei elementare Steuerelemente. Sie sind alle auf eine bestimmte Aufgabe optimiert, zum Beispiel dient ein Textfeld zur Eingabe einfacher Werte. Allerdings sind die Steuerelemente alle sehr flexibel und können auch für verschiedene Zwecke eingesetzt werden. So kann das Textfeld nicht nur Werte aufnehmen, sondern auch ausgeben, wie im Bild unten. Die Ausgabe könnte auch ein Beschriftungsfeld übernehmen, da dessen Inhalt zur Laufzeit dynamisch geändert werden kann.

Wir werden uns nun genauer ansehen, wie man Fenster und Steuerelemente mit den uns bekannten Entwicklungsumgebungen erstellen und bearbeiten kann. (Beide IDE benutzen nicht umsonst Begriffe wie „Entwurf“ oder „Design“, schließlich läuft bis auf den Code für die Ereignisbehandlungen nichts über richtigen Quellcode, sondern über grafische Oberflächen.) Dann werden wir einige wichtige Steuerelemente genauer kennen lernen.

Siehe auch[Bearbeiten]