Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung

...powered by haas.homelinux.net...

Einstieg in VB.NET von René Martin
- Für Programmiereinsteiger -
Einstieg in VB.NET
gp Kapitel 1 Die Grundlagen
  gp 1.1 Nach der Installation
  gp 1.2 Der erste Start
  gp 1.3 Das erste Formular
  gp 1.4 Eigenschaften
    gp 1.4.1 Regeln für Namen
    gp 1.4.2 Die Eigenschaften
  gp 1.5 Die Toolbox
  gp 1.6 Das Meldungsfenster
    gp 1.6.1 Die Code-Eingabe für die MessageBox
    gp 1.6.2 Ein Wort zum »alten« Visual Basic
    gp 1.6.3 Die Code-Eingabe allgemein
  gp 1.7 Ein Textfeld
  gp 1.8 Texte verketten
  gp 1.9 Andere Zeichen
    gp 1.9.1 Noch ein Wort zum Code-Tippen
    gp 1.9.2 Ein Wort zur Syntax
  gp 1.10 Variablen
  gp 1.11 Ein theoretischer Exkurs: Werte- und Referenztypen
  gp 1.12 Zuweisen von Werten an Variablen
  gp 1.13 Verzweigungen
  gp 1.14 Einige Hilfen für den Benutzer
    gp 1.14.1 Setze den Cursor in ein Textfeld
    gp 1.14.2 Ok und Abbrechen
    gp 1.14.3 Die Reihenfolge der Steuerelemente
  gp 1.15 Ein zweites Textfeld
    gp 1.15.1 Vergleiche
  gp 1.16 Rechnen in Basic
  gp 1.17 Optionsfelder
    gp 1.17.1 Schnell und ordentlich mehrere Steuerelemente platzieren
  gp 1.18 Ein zweites Gruppenfeld
  gp 1.19 Dynamische Steuerelemente
  gp 1.20 Das Ereignis »Klick«
  gp 1.21 Prozeduren
  gp 1.22 Ein theoretischer Exkurs: Prozeduren
  gp 1.23 Module
  gp 1.24 Ein theoretischer Exkurs: Objekte, Eigenschaften und Methoden
    gp 1.24.1 Objekte
    gp 1.24.2 Methoden
    gp 1.24.3 Eigenschaften
  gp 1.25 Zusammenfassung


Galileo Computing

1.17 Optionsfelder  downtop

Doch zurück zu unserer Kaffeemaschine. Mehmet mault schon seit einer Weile, weil es nur Kaffee gibt. Er hätte gerne einen Tee. Und Clara wollte auch schon etwas anderes haben. Der Apparat wird also erweitert.

Für die verschiedenen Getränke hätte ich gerne jeweils einen Radiobutton auf dem Formular. Man kann die Buttons zwar einzeln auf dem Formular platzieren, allerdings werden später weitere Radiobuttons benötigt, die nicht zur Getränkekategorie gehören. Deshalb sollten Sie zuerst einen Rahmen auf dem Formular aufziehen. Er wird »grpGetränke« genannt (Name), die Beschriftung lautet: »Getränke« (Text). Die Optionsfelder werden genannt: »optKaffee«, »optTee«, »optSchokolade«, »optWasser« und »optCola«. Ihre Beschriftungen lauten analog: »Kaffee«, »Tee«, »Schokolade«, »Wasser« und »Cola«. Wenn Sie möchten, dass der Benutzer mit gedrückter (Alt) + (Buchstabe) ein Getränk auswählen kann, dann muss der entsprechende Buchstabe unterstrichen sein, beispielsweise »&Kaffee«. Da von den Optionsfeldern nur eines ausgewählt werden kann, wird einer der Buttons vorbelegt. Dies kann man über die Eigenschaft »Checked« (Kategorie »Darstellung«) einschalten, natürlich nur bei einem der Buttons innerhalb des Rahmens.

Abbildung

Abbildung 1.29   Das geänderte Formular

Klickt nun der Benutzer auf die Ok-Schaltfläche, dann wird das korrekte Getränk ausgegeben. (Hm, kennen Sie solche Automaten, bei denen man heiße Brühe und Pfefferminztee kaufen kann?) Dies kann man ganz einfach mit einer Verzweigung abfragen. Da der Automat sich den ausgewählten Radiobutton »merken« soll, wird mit einer Variablen gearbeitet:

If optCola.Checked = True Then
   strGetränk = "Cola"
ElseIf optKaffee.Checked = True Then
   strGetränk = "Kaffee"
ElseIf optTee.Checked = True Then
   strGetränk = "Tee"
ElseIf optSchokolade.Checked = True Then
   strGetränk = "Schokolade"
ElseIf optWasser.Checked = True Then
   strGetränk = "Wasser"
End If

Den letzten Zweig hätte man auch so schreiben können:

Else
   strGetränk = "Wasser“

denn es gibt keine weiteren Getränke mehr.

Abbildung

Abbildung 1.30   Nun gibt es auch andere Getränke.

Damit das gewählte Getränk angezeigt wird, muss die Variable zur Zeichenkette hinzugefügt werden:

MessageBox("Achtung: " & txtName.Text & _
"Jetzt gibt es " & strGetränk & "!")

Selbstverständlich muss die Variable korrekt deklariert werden, damit man sie verwenden kann. Ganz am Anfang steht:

Dim strGetränk as String

Galileo Computing

1.17.1 Schnell und ordentlich mehrere Steuerelemente platzieren  toptop

Werden mehrere Radiobuttons benötigt, so können sie natürlich auf die gleiche Weise erzeugt werden, oder indem ein Button in die Zwischenablage kopiert (mit dem Kopieren-Symbol, dem Menüpunkt Bearbeiten Kopieren, der rechten Maustaste auf die Schaltfläche oder (Strg) + (C)) und anschließend eingefügt wird (mit dem Einfügen-Symbol, dem Menüpunkt Bearbeiten Einfügen, der rechten Maustaste auf die Schaltfläche oder (Strg) + (V)). Auf die Platzierung haben Sie keinen Einfluss – die Schaltfläche wird in die Mitte der Seite gesetzt. Von dort kann/muss sie anschließend verschoben werden. Fügen Sie die Schaltfläche mehrere Male hintereinander ein, so werden die Buttons alle übereinander gelegt. Sie müssen dann einzeln aus dem Stapel herausgezogen werden. Leider gibt es keinen Menüpunkt Duplizieren.

Eleganter funktioniert das Kopieren mit Drag & Drop: Klicken Sie auf eine Schaltfläche und ziehen Sie diese mit gedrückter (Strg) über die Form. Neben dem Steuerelement erscheint ein Pluszeichen in einem Kästchen. Beim Loslassen (zuerst die Maus loslassen!) haben Sie eine Kopie der Schaltfläche an der gewünschten Stelle.

Wenn auf dem Dialogfeld mehrere Buttons zu finden sind, so können sie schnell angeordnet werden. Dazu müssen die Radiobuttons, die ausgerichtet werden, markiert werden. Dies geschieht entweder mit gedrückter (Strg), (Umschalt) oder durch Umfahren mit der Maus. Sind mehrere ausgewählt, so können sie über den Menüpunkt Format Ausrichten horizontal (Links, Zentriert, Rechts) oder vertikal (Oben, Mitte, Unten) angeordnet werden. Dabei richten sich die Steuerelemente immer an dem zuletzt markierten Steuerelement aus, also an demjenigen, welches schwarze Anfasser hat.

Abbildung

Abbildung 1.31   Mehrere Steuerelemente sind markiert und werden ausgerichtet.

Liegen die Schaltflächen übereinander, so kann der vertikale Abstand gleichmäßig verteilt werden: über das Menü Format Vertikaler Abstand. Dabei bleiben das oberste und das unterste Steuerelement an ihrer Position; alle anderen werden so verteilt, dass sie gleich große Abstände dazwischen bilden.

Analog dazu kann bei nebeneinander liegenden Buttons der horizontale Abstand geändert werden. »Vergrößern« oder »vermindern« ändert den Abstand. »Entfernen« setzt die Schaltflächen direkt nebeneinander.

Sind mehrere Schaltflächen markiert, so können sie, wenn sie unterschiedlich groß sind, mit dem Menü Format Größe in der Höhe, der Breite oder beidem zugleich an die Größe der anderen angepasst werden. Ausschlaggebend ist dabei das zuletzt markierte Steuerelement. Dieses wird durch weiße Eckanfasser gekennzeichnet und nicht durch schwarze.

Format Auf Formular zentrieren bewirkt, wie der Name vermuten lässt, ein In-die-Mitte-Setzen. Diese Option ist sicherlich nur für ein Steuerelement oder eine Gruppe interessant.

Übrigens kann man auch die Buttons numerisch platzieren. Jeder Button besitzt die Eigenschaft »Location« und »Size« (in der Kategorie »Layout«). Dort können Höhe und Breite, beziehungsweise Abstand von links und oben festgelegt werden. Dies kann sowohl für einen Button als auch für mehrere markierte vorgenommen werden.

Warum ist mir das so wichtig? Wenn ich einem Kunden ein Programm ausliefere, dann ist das erste, was er sieht, die Eingabemaske (später auch noch die Ausgabemöglichkeit). Und viele Kunden fangen mit ihrer Kritik an dem an, was sie sehen. Dazu gehört eben die Position solcher Steuerelemente, ihre Größe, die gute Lesbarkeit der Texte auf den Buttons und so weiter. Welche tollen Gedanken ich mir bei der Programmierung gemacht habe, das sieht keiner und das interessiert auch niemanden. Deshalb achte ich sehr auf die Gestaltung der Oberfläche und auf ein ordentliches und ansprechendes Aussehen der Maske. Auf die saubere Programmierung achte ich natürlich auch.

  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML