Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Beispielprojekte
12 Windows Presentation Foundation
13 Windows Store-Apps für Windows 8
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
C Inhalt der Buch-DVD
D Der Autor
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Einstieg in Visual Basic 2012 von Thomas Theis
Ideal für Programmiereinsteiger geeignet
Buch: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Rheinwerk Computing
579 S., 3., aktualisierte und erweiterte Auflage 2013, brosch., mit DVD
24,90 Euro, ISBN 978-3-8362-1959-4
Pfeil 2 Grundlagen
Pfeil 2.1 Variablen und Datentypen
Pfeil 2.1.1 Namen und Werte
Pfeil 2.1.2 Deklarationen
Pfeil 2.1.3 Datentypen
Pfeil 2.1.4 Gültigkeitsbereich
Pfeil 2.1.5 Konstanten
Pfeil 2.1.6 Enumerationen
Pfeil 2.2 Operatoren
Pfeil 2.2.1 Rechenoperatoren
Pfeil 2.2.2 Vergleichsoperatoren
Pfeil 2.2.3 Logische Operatoren
Pfeil 2.2.4 Verkettungsoperator
Pfeil 2.2.5 Zuweisungsoperatoren
Pfeil 2.2.6 Rangfolge der Operatoren
Pfeil 2.3 Einfache Steuerelemente
Pfeil 2.3.1 Panel
Pfeil 2.3.2 Zeitgeber
Pfeil 2.3.3 Textfelder
Pfeil 2.3.4 Zahlenauswahlfeld
Pfeil 2.4 Verzweigungen
Pfeil 2.4.1 Einzeiliges If...Then...Else
Pfeil 2.4.2 If...Then...Else-Block
Pfeil 2.4.3 Select Case
Pfeil 2.4.4 Funktion IIf
Pfeil 2.4.5 Funktion Choose
Pfeil 2.4.6 Übungen
Pfeil 2.5 Verzweigungen und Steuerelemente
Pfeil 2.5.1 Kontrollkästchen
Pfeil 2.5.2 Optionsschaltfläche
Pfeil 2.5.3 Mehrere Ereignisse in einer Prozedur behandeln
Pfeil 2.5.4 Mehrere Gruppen von Optionsschaltflächen
Pfeil 2.5.5 Prozedur ohne Ereignis, Modularisierung
Pfeil 2.6 Schleifen
Pfeil 2.6.1 For ... Next
Pfeil 2.6.2 Do ... Loop
Pfeil 2.6.3 With
Pfeil 2.6.4 Übungen
Pfeil 2.7 Schleifen und Steuerelemente
Pfeil 2.7.1 Listenfeld
Pfeil 2.7.2 Listenfeld füllen
Pfeil 2.7.3 Wichtige Eigenschaften
Pfeil 2.7.4 Wechsel der Auswahl
Pfeil 2.7.5 Wichtige Methoden
Pfeil 2.7.6 Mehrfachauswahl
Pfeil 2.7.7 Kombinationsfelder

Rheinwerk Computing - Zum Seitenanfang

2.3 Einfache SteuerelementeZur nächsten Überschrift

Windows-Programmierung mit Visual Basic besteht aus zwei Teilen: der Arbeit mit visuellen Steuerelementen und der Programmierung mit der Sprache. Beides soll in diesem Buch parallel vermittelt werden, damit die eher theoretischen Abschnitte zur Programmiersprache durch eine anschauliche Praxis vertieft werden können.

Daher wird in diesem Abschnitt mit vier weiteren Steuerelementen gearbeitet, bevor im nächsten Abschnitt die Verzweigungen zur Programmsteuerung vorgestellt werden: Panel, Zeitgeber, Textfeld und Zahlenauswahlfeld.


Rheinwerk Computing - Zum Seitenanfang

2.3.1 PanelZur nächsten ÜberschriftZur vorigen Überschrift

Ein Panel dient normalerweise als Container für andere Steuerelemente. In diesem Abschnitt wird es zur visuellen Darstellung eines Rechtecks und für eine kleine Animation genutzt.

Die Eigenschaften BackColor (Hintergrundfarbe), Location (Position) und Size (Größe) sind schon von anderen Steuerelementen bekannt.

Mithilfe des nachfolgenden Programms im Projekt Panel wird ein Panel durch Betätigung von vier Buttons um 10 Pixel nach oben, unten, links oder rechts verschoben. Es hat die Größe 100 × 100 Pixel, die Startposition X=145 und Y=80 sowie eine eigene Hintergrundfarbe. Die Bewegung wird mithilfe der Struktur Point durchgeführt.

In den Abbildungen 2.11 und 2.12 ist das Panel im Startzustand bzw. nach einigen Klicks zu sehen.

Abbildung

Abbildung 2.11 Panel, Startzustand

Abbildung

Abbildung 2.12 Panel, nach Verschiebung

Der Programmcode:

Public Class Form1
Private Sub cmdOben_Click(...) Handles ...
panMove.Location = New Point(
panMove.Location.X,
panMove.Location.Y – 10)
End Sub

Private Sub cmdUnten_Click(...) Handles ...
panMove.Location = New Point(
panMove.Location.X,
panMove.Location.Y + 10)
End Sub

Private Sub cmdLinks_Click(...) Handles ...
panMove.Location = New Point(
panMove.Location.X – 10,
panMove.Location.Y)
End Sub

Private Sub cmdRechts_Click(...) Handles ...
panMove.Location = New Point(
panMove.Location.X + 10,
panMove.Location.Y)
End Sub
End Class

Listing 2.6 Projekt »Panel«


Rheinwerk Computing - Zum Seitenanfang

2.3.2 ZeitgeberZur nächsten ÜberschriftZur vorigen Überschrift

Ein Zeitgeber (Timer) erzeugt in festgelegten Abständen Zeittakte. Diese Zeittakte sind Ereignisse, die Sie als Entwickler mit Aktionen verbinden können. Das zugehörige Ereignis heißt Tick. Ein Zeitgeber kann wie jedes andere Steuerelement zum Formular hinzugefügt werden. Da es sich aber um ein nicht sichtbares Steuerelement handelt, wird er unterhalb des Formulars angezeigt. Auch zur Laufzeit ist er nicht sichtbar.

Seine wichtigste Eigenschaft ist das Zeitintervall, in dem das Ereignis auftreten soll. Dieses Zeitintervall wird in Millisekunden angegeben.

Die Eigenschaft Enabled dient zur Aktivierung bzw. Deaktivierung des Zeitgebers. Sie kann zur Entwicklungszeit oder zur Laufzeit auf True oder False gestellt werden.

Im nachfolgenden Programm im Projekt Zeitgeber erscheint zunächst ein Formular mit zwei Buttons. Betätigt man den Start-Button, so erscheint ein x in einem Bezeichnungsfeld. Alle 0,5 Sekunden erscheint automatisch ein weiteres x, siehe Abbildung 2.13. Dies wird durch den Timer gesteuert, bei dem der Wert für die Eigenschaft Interval auf 500 gesetzt wurde. Nach Betätigung des Stop-Buttons kommt kein weiteres x hinzu.

Abbildung

Abbildung 2.13 Nach einigen Sekunden

Der zugehörige Code:

Public Class Form1
Private Sub timAnzeige_Tick(...
) Handles timAnzeige.Tick
lblAnzeige.Text &= "x"
End Sub

Private Sub cmdStart_Click(...) Handles ...
timAnzeige.Enabled = True
End Sub

Private Sub cmdStop_Click(...) Handles ...
timAnzeige.Enabled = False
End Sub
End Class

Listing 2.7 Projekt »Zeitgeber«

Übung

Erstellen Sie eine Windows-Anwendung. In der Mitte eines Formulars sollen zu Beginn vier Panels verschiedener Farbe der Größe 20 × 20 Pixel platziert werden, siehe Abbildung 2.14. Sobald ein Start-Button betätigt wurde, sollen diese vier Panels sich diagonal in ca. 5–10 Sekunden zu den Ecken des Formulars bewegen, jedes Panel in eine andere Ecke, siehe Abbildung 2.15.

Abbildung

Abbildung 2.14 Startzustand

Abbildung

Abbildung 2.15 Nach einigen Sekunden

Übung

Diese Übung gehört nicht zum Pflichtprogramm. Sie ist etwas umfangreicher, verdeutlicht aber die Möglichkeiten einer schnellen Visualisierung von Prozessen durch Visual Basic mit wenigen Programmzeilen.

Konstruieren Sie aus mehreren Panels einen Kran (Fundament, senkrechtes Hauptelement, waagerechter Ausleger, senkrechter Haken am Ausleger). Der Benutzer soll die Möglichkeit haben, über ingesamt acht Buttons die folgenden Aktionen auszulösen:

  • Haken um 10 Pixel ausfahren bzw. einfahren
  • Ausleger um 10 Pixel ausfahren bzw. einfahren
  • Kran um 10 Pixel nach rechts bzw. links fahren
  • Kran um 10 Pixel in der Höhe ausfahren bzw. einfahren

Denken Sie daran, dass bei vielen Bewegungen mehrere Steuerelemente bewegt werden müssen, da der Kran sonst seinen Zusammenhalt verliert. Manche Aktionen resultieren nur aus Größenveränderungen (Eigenschaften Width und Height), manche nur aus Ortsveränderungen (Location), manche aus beidem. In Abbildung 2.16 und Abbildung 2.17 sehen Sie den Kran im Startzustand bzw. nach einigen Klicks.

Es können natürlich immer noch widersprüchliche Bewegungen auftreten. Mit weiter zunehmendem Programmierwissen können Sie diesen Problemen später noch abhelfen.

Abbildung

Abbildung 2.16 Startzustand

Abbildung

Abbildung 2.17 Nach einigen Aktionen


Rheinwerk Computing - Zum Seitenanfang

2.3.3 TextfelderZur nächsten ÜberschriftZur vorigen Überschrift

Ein Textfeld dient in erster Linie dazu, die Eingabe von Text oder Zahlen vom Benutzer entgegenzunehmen. Diese Eingaben werden in der Eigenschaft Text des Textfelds gespeichert. Das Aussehen und das Verhalten eines Textfelds werden unter anderem durch folgende Eigenschaften gekennzeichnet:

  • MultiLine: Steht MultiLine auf True, so kann bei der Eingabe und bei der Anzeige mit mehreren Textzeilen gearbeitet werden.
  • ScrollBars: Man kann ein Textfeld mit vertikalen und/oder horizontalen Bildlaufleisten zur Eingabe und Anzeige längerer Texte versehen.
  • MaxLength: Mit dieser Eigenschaft lässt sich die Anzahl der Zeichen des Textfelds beschränken. Ist keine Beschränkung vorgesehen, kann das Textfeld 32K Zeichen aufnehmen.
  • PasswordChar: Falls für diese Eigenschaft im Entwurfsmodus ein Platzhalter-Zeichen eingegeben wurde, wird während der Laufzeit für jedes eingegebene Zeichen nur dieser Platzhalter angezeigt. Diese Eigenschaft wird vor allem bei Passwort-Abfragen verwendet.

Der Inhalt eines Textfelds kann mit den gewohnten Mitteln (zum Beispiel Strg + C und Strg + V) in die Zwischenablage kopiert bzw. aus der Zwischenablage eingefügt werden.

Im nachfolgenden Programm im Projekt Textfelder kann der Benutzer in einem Textfeld einen Text eingeben. Nach Betätigung des Buttons Ausgabe wird der eingegebene Text in einem zusammenhängenden Satz ausgegeben, siehe Abbildung 2.18.

Abbildung

Abbildung 2.18 Eingabe in Textfeld

Der Code lautet wie folgt:

Public Class Form1
Private Sub cmdAusgabe_Click(...) Handles ...
lblAusgabe.Text = "Sie haben '" &
txtEingabe.Text & "' eingegeben"
End Sub
End Class

Listing 2.8 Projekt »Textfelder«

Zur Erläuterung:

  • In der Eigenschaft Text des Textfelds wird die Eingabe gespeichert. Die Eigenschaft wird in einen längeren Ausgabetext eingebettet.

Bei der Eingabe und Auswertung von Zahlen sind einige Besonderheiten zu beachten. Im nachfolgenden Programm, ebenfalls im Projekt Textfelder, kann der Benutzer in einem Textfeld eine Zahl eingeben. Nach Betätigung des Buttons Rechnen wird der Wert dieser Zahl verdoppelt, das Ergebnis wird in einem Label darunter ausgegeben.

Public Class Form1
[...]
Private Sub cmdRechnen1_Click(...) Handles ...
lblAusgabe.Text = txtEingabe.Text * 2
End Sub
End Class

Listing 2.9 Projekt »Textfelder«, Zahleneingabe

Zur Erläuterung:

  • Wenn eine Zeichenkette eingegeben wurde, die eine Zahl darstellt, dann wird sie implizit, d. h. automatisch, in eine Zahl umgewandelt, mit der dann gerechnet werden kann.
  • Stellt die eingegebene Zeichenkette keine Zahl dar, kommt es zu einem Laufzeitfehler. Diese Situation sollten Sie natürlich vermeiden:
    • Sie können vorher überprüfen, ob es sich bei der Zeichenkette um eine gültige Zahl handelt und entsprechend reagieren. Dies wird möglich, sobald Sie Verzweigungen zur Programmsteuerung beherrschen.
    • Allgemein können Sie Programme so schreiben, dass ein Programmabbruch abgefangen werden kann. Dies wird möglich, sobald Sie die Ausnahmebehandlung (siehe hierzu Kapitel 3, »Fehlerbehandlung«) beherrschen.

Einige Beispiele:

Abbildung 2.19 zeigt die Eingabe einer Zahl mit Nachkommastellen.

Abbildung

Abbildung 2.19 Eingabe einer Zahl mit Nachkommastellen

Die Eingabe einer Zeichenkette, z. B. abc, führt zur Anzeige einer nicht behandelten Ausnahme. Die Zeile, in der der Fehler auftritt, wird im Code markiert, damit der Fehler beseitigt werden kann (siehe Abbildung 2.20).

Abbildung

Abbildung 2.20 Markierung der Fehlerzeile

Es wird ein zusätzliches Dialogfeld angezeigt. Darin kann man den Button Weiter betätigen, dann wird das Programm beendet. Falls man den Button Unterbrechen betätigt, wird das Programm unterbrochen und muss anschließend über den Menüpunkt DebuggenDebugging beenden beendet werden, bevor es neu gestartet werden kann.

Die Eingabe einer Zahl, bei der ein Punkt statt einem Komma zur Abtrennung von Nachkommastellen eingegeben wird, führt zu einem ganz anderen Rechenergebnis, siehe Abbildung 2.21. Der Punkt wird ignoriert, die Zahl wird als 352 angesehen und führt so zu dem Ergebnis 704.

Abbildung

Abbildung 2.21 Punkt vor den Nachkommastellen

Sie sollten dafür sorgen, dass der Inhalt des Textfeldes explizit in eine Zahl (mit möglichen Nachkommastellen) umgewandelt wird. Dies erreichen Sie mithilfe der Methode ToDouble() aus der Klasse Convert. Die Klasse Convert bietet eine Reihe von Methoden für die Umwandlung (= Konvertierung) in andere Datentypen.

Public Class Form1
[...]
Private Sub cmdRechnen2_Click(...) Handles ...
lblAusgabe.Text =
Convert.ToDouble(txtEingabe.Text) * 2
End Sub
End Class

Listing 2.10 Projekt »Textfelder«, Methode ToDouble()

Zur Erläuterung:

  • Der eingegebene Text wird mit der Methode ToDouble() in eine Zahl umgewandelt.
  • Allerdings ist nach wie vor ein Programmabbruch bei falscher Eingabe möglich.

Rheinwerk Computing - Zum Seitenanfang

2.3.4 ZahlenauswahlfeldZur vorigen Überschrift

Das Steuerelement Zahlenauswahlfeld (NumericUpDown) bietet eine andere Möglichkeit, Zahlenwerte an ein Programm zu übermitteln. Die Zahlenwerte können innerhalb selbst gewählter Grenzen und in selbst definierten Schritten über zwei kleine Pfeiltasten ausgewählt werden.

Wichtige Eigenschaften des Steuerelements sind:

  • Value: bezeichnet zur Entwicklungszeit den Startwert und zur Laufzeit den vom Benutzer aktuell eingestellten Wert.
  • Maximum, Minimum: bestimmen den größtmöglichen Wert und den kleinstmöglichen Wert der Eigenschaft Value. Es handelt sich also um die Werte, die durch die Auswahl mit den Pfeiltasten ganz oben und ganz unten erreicht werden können.
  • Increment: Mit Increment wird die Schrittweite eingestellt, mit der sich der Wert (Eigenschaft Value) ändert, wenn der Benutzer eine der kleinen Pfeiltasten betätigt.
  • DecimalPlaces: bestimmt die Anzahl der Nachkommastellen in der Anzeige des Zahlenauswahlfelds.

Das wichtigste Ereignis dieses Steuerelements ist ValueChanged. Es tritt bei der Veränderung der Eigenschaft Value ein und sollte anschließend zur Programmsteuerung verwendet werden.

Im nachfolgenden Programm im Projekt Zahlenauswahlfeld werden alle diese Eigenschaften und das genannte Ereignis genutzt. Der Benutzer kann Zahlenwerte zwischen –5,0 und +5,0 in Schritten von 0,1 über ein Zahlenauswahlfeld einstellen. Der ausgewählte Wert wird unmittelbar in einem Label angezeigt, siehe Abbildung 2.22.

Abbildung

Abbildung 2.22 Zahlenauswahlfeld

Die Eigenschaften wurden zur Entwicklungszeit wie folgt eingestellt:

  • Value: Wert 2, die Anwendung startet also bei dem Wert 2,0 für das Zahlenauswahlfeld
  • Maximum, Minimum: Werte –5 und +5
  • Increment: Wert 0,1
  • DecimalPlaces: Wert 1, zur Anzeige einer einzelnen Nachkommastelle

Der Code lautet:

Public Class Form1
Private Sub numEingabe_ValueChanged(...
) Handles numEingabe.ValueChanged
lblAusgabe.Text = numEingabe.Value
End Sub
End Class

Listing 2.11 Projekt »Zahlenauswahlfeld«



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Visual Basic 2012






 Visual Basic 2012


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Rheinwerk-Shop: Einstieg in Python






 Einstieg in Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern