Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2004.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Adressverwaltung mit .NET, Teil 1

Manfred Hoffbauer, Düsseldorf

Mit den Assistenten und Editoren von Microsoft Access können Sie Abfragen, Formulare und Berichte entwerfen. Nach wenigen Mausklicks können Sie Daten eingeben, bearbeiten und drucken. Das sieht bei Visual Basic.NET anders aus. Hier führt kein Weg an der Eingabe von Programmcode vorbei. Aber auch hier gibt es Assistenten, die Ihnen das Leben leichter machen. Deshalb genügt der folgende Beitrag, um schon zu einer kleinen Adressverwaltung zu kommen.

Lösung als Beispiel

Diese Beitragsreihe zeigt Ihnen anhand einer Adressverwaltung, wie Sie mit .NET Formulare für den Zugriff auf eine Datenbank erstellen. In diesem ersten Teil erstellen Sie zunächst ein einfaches Formular mit einem Datenblatt zur Anzeige von Adressen. Sie können darin Adressen eingeben, ändern und löschen.

Die Funktionsweise von
Formularen in .NET

Zur Programmierung einer Adressverwaltung mit Microsoft Visual Basic.NET benötigen Sie eine Datenbank und ein Programm. Als Datenbank bietet sich Microsoft Access an. Die Technik für den Datenzugriff auf eine Access-Datenbank wurde bereits in Heft 5/2004 unter dem Stichwort ADO.NET beschrieben.

Der vorliegende Beitrag beschäftigt sich hauptsächlich mit der Gestaltung einer Oberfläche für eine Adressverwaltung. Der Schwerpunkt liegt demnach auf dem Entwurf von Formularen und nicht auf der Datenzugriffstechnik.

Hinweis

Die Beispieldaten zu diesem Beitrag befinden sich auf der Heft-CD in der .zip-Datei Adressen.zip. Die Beispieldatenbanken heißen Adress97.mdb und Adress00.mdb.

Neues Combine anlegen

Die folgenden Beispiele verwenden die kostenlose Entwicklungsumgebung von SharpDevelop.

Nach dem Start des Programms sollten Sie ein neues Combine anlegen. Markieren Sie die Kategorie VBNET und die Schablone Windows-Anwendung. Damit veranlassen Sie SharpDevelop, einen Applikationsrumpf für Windows-Anwendungen anzulegen. Sie erkennen dies unter anderem daran, dass SharpDevelop der Combine ein leeres Formular hinzufügt und es automatisch die Assemblies System.Windows.Forms und System.Drawing importiert.

Abb. 1: Wählen Sie bei der Anlage der neuen Combine die Schablone Windows-Anwendung aus Liste.

Abb. 2: Diesen Programmcode hat der Designer für Sie generiert.

Geben Sie den Text Adressen als Name der neuen Combine ein. Nach der Anlage der Combine zeigt SharpDevelop ein Fenster mit dem Programmcode von MainForm.vb. Hierbei handelt es sich um den Quellcode eines leeren Formulars.

Der Quellcode eines leeren
Formulars

Im Unterschied zu Microsoft Access verfügt ein in Microsoft Visual Basic.NET erstelltes Programm nicht über Systemtabellen mit Formularentwürfen. Jeder einzelne Bestandteil eines Formulars muss sich vielmehr in einem Programmbefehl widerspiegeln.

Der Programmcode beginnt mit drei Imports-Anweisungen. Sie importieren die Namespaces System, System.Drawing und System.Windows.Forms. Der Import der Namespaces System.Drawing und System.Windows.Forms ist nicht erforderlich, soll aber wohl die häufig benötigten Namespaces direkt verfügbar machen. Es handelt sich hierbei um eine Besonderheit von SharpDevelop. Wenn Sie mit Microsoft Visual Studio.NET ein neues Formular anlegen, wird standardmäßig nur der Namespace System importiert.

Die Namespace DefaultNamespace definiert einen Namespace namens DefaultNamespace für das Formular. Mit den nächsten zwei Anweisungen geht’s dann richtig los:

Public Class MainForm

Inherits System.Windows.Forms.Form

In .NET ist jedes Formular eine Objektklasse, die von der Basisklasse Form vererbt wurde. Die Basisklasse befindet sich im Namespace System.Windows.Forms, der bei der Inherits-Anweisung mit angegeben wurde. Der Name der neuen Objektklasse lautet MainForm. Die nächsten vier Anweisungen definieren sozusagen das Hauptprogramm der Windows-Anwendung:

Public Shared Sub Main

    Dim fMainForm As New MainForm

    fMainForm.ShowDialog()

End Sub

Beim Start eines Programms ruft .NET standardmäßig die Prozedur namens Main auf. Dies ist also der Einstiegspunkt der Anwendung.

SharpDevelop hat hier automatisch den Programmcode eingefügt, der der Variablen fMainForm eine Instanz der Objektklasse MainForm zuweist.

Mit der anschließenden ShowDialog-Methode wird das Formular zur Anzeige gebracht.

Falls Sie die Wirkung einmal ausprobieren wollen, starten Sie das leere Formular mit der F5-Taste. Der Programmablauf stoppt so lange, wie das Formular angezeigt wird. Wenn Sie das Formular schließen, führt .NET die Anweisung End Sub aus. Dies ist im Beispiel die letzte Anweisung des Programms.

Hinweis

Mit der Compileroption /main können Sie auch einen anderen Einstiegspunkt markieren. Visual Studio.NET macht davon insofern Gebrauch, als Sie hier direkt ein Formular für den Programmstart angeben können. Es ruft den Compiler dann automatisch mit der entsprechenden Option auf. (

Auf die Definition der Main-Prozedur folgt die Definition des Konstruktors für die Objektklasse MainForm. Dieser Programmcode wird immer dann aufgerufen, wenn Sie ein Objekt dieser Klasse instanzieren, also die New()-Methode aufrufen. Die Anweisung

MyBase.New

ruft den Konstruktor der Basisklasse Form auf. Die zweite Anweisung

Me.InitializeComponent

startet die Prozedur InitializeComponent. Sie finden diese Prozedur im Programmcode der Region Windows Forms Designer generated code. Mit einem Klick auf das Pluszeichen der Region decken Sie den verborgenen Programmcode auf. Die Prozedur enthält vier Anweisungen zur Definition des aktuellen Formulars:

Me.AutoScaleBaseSize = _
    New System.Drawing.Size(5, 13)

Me.ClientSize = _
    New System.Drawing.Size(292, 266)

Me.Name = "MainForm"

Me.Text = "MainForm"

Die beiden ersten Anweisungen definieren die AutoScaleBaseSize-Größe und die Größe des Formulars in Pixel. Die Eigenschaft Name definiert den Formularnamen und Me.Text den Text der Titelzeile.

Es sei an dieser Stelle ausdrücklich darauf hingewiesen, dass Sie den vom Designer automatisch generierten Programmcode nicht ändern dürfen. Eine Änderung kann dazu führen, dass der Designer den Programmcode nicht mehr richtig interpretiert und deshalb die Möglichkeit zum Wechsel in die Designansicht verloren geht. Die Ursache hierfür besteht darin, dass die Programmiersprache Visual Basic.Net weit mehr Möglichkeiten bietet, als sich im Designer abbilden lassen.

Zum Test können Sie aber ausnahmsweise mal eine Ausnahme machen. Ändern Sie die obige Anweisung wie folgt:

Me.Text = "Adressen"

Achten Sie darauf, dass Sie wirklich die Text- und nicht die Name-Eigenschaft des Formulars ändern.

Am unteren Rand des Fensters MainForm.vb befindet sich die Registerlasche Design. Ein Mausklick auf die Registerlasche veranlasst SharpDevelop, das Design des Formulars anzuzeigen. Diese Ansicht ähnelt der Entwurfsansicht eines Formulars bei Microsoft Access.

SharpDevelop generiert die Designansicht vollständig aus dem Programmcode. Wie zu erwarten, wird der Text Adressen als Titelzeile des Formulars angezeigt. Falls Sie den Programmcode manuell so geändert haben, dass SharpDevelop ihn nicht mehr verstehen kann, zeigt es eine Fehlermeldung an.

Die Toolbox

Mit dem Menübefehl Ansicht/Tools blenden Sie die Toolbox ein. Die Elemente der Toolbox sind gruppiert. Die für die Adressverwaltung interessanten Tools sehen Sie nach einem Klick auf den Balken Windows Forms.

Falls das Eigenschaftsfenster nicht sichtbar ist, brauchen Sie nur mit der rechten Maustaste auf einen leeren Bereich des Formularentwurfs zu klicken. Wählen Sie den Befehl Eigenschaften aus dem Kontextmenü. Die Bedienung von Toolbox und Eigenschaftsfenster erfolgt ähnlich wie bei Access.

Das Formular entwerfen

Um das Formular mit Inhalt zu füllen, benötigen Sie Steuerelemente und Programmcode. Beides werden Sie in den kommenden Abschnitten zu einer kleinen Anwendung zusammenstellen. Am Ende verfügen Sie über ein Formular, mit dem Sie Adressen aus der Access-Datenbank in ein DataGrid-Steuerelement einlesen, dort bearbeiten und wieder in der zugrunde liegenden Tabelle speichern können.

Abb. 3: Die Designansicht ähnelt dem Formularentwurf von Microsoft Access.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Visual Basic 2008 Express Edition

© 2003-2015 André Minhorst Alle Rechte vorbehalten.