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 4 Erweiterte Grundlagen
Pfeil 4.1 Steuerelemente aktivieren
Pfeil 4.1.1 Ereignis Enter
Pfeil 4.1.2 Eigenschaften Enabled und Visible
Pfeil 4.2 Bedienung per Tastatur
Pfeil 4.2.1 Eigenschaften TabIndex und TabStop
Pfeil 4.2.2 Tastenkombination für Steuerelemente
Pfeil 4.3 Ereignisgesteuerte Programmierung
Pfeil 4.3.1 Eine Ereigniskette
Pfeil 4.3.2 Endlose Ereignisketten
Pfeil 4.3.3 Textfelder koppeln
Pfeil 4.4 Mehrere Formulare
Pfeil 4.4.1 Allgemeine Code-Module
Pfeil 4.5 Datenfelder
Pfeil 4.5.1 Eindimensionale Datenfelder
Pfeil 4.5.2 Ein Feld durchsuchen
Pfeil 4.5.3 Weitere Feld-Operationen
Pfeil 4.5.4 Mehrdimensionale Datenfelder
Pfeil 4.5.5 Datenfelder initialisieren
Pfeil 4.5.6 Datenfelder sind dynamisch
Pfeil 4.5.7 Collections initialisieren
Pfeil 4.5.8 For-Each-Schleife
Pfeil 4.6 Datenstruktur ArrayList
Pfeil 4.7 Benutzerdefinierte Datentypen
Pfeil 4.8 Prozeduren und Funktionen
Pfeil 4.8.1 Prozeduren
Pfeil 4.8.2 Übergabe per Referenz
Pfeil 4.8.3 Funktionen
Pfeil 4.8.4 Optionale Argumente
Pfeil 4.8.5 Beliebig viele Argumente
Pfeil 4.8.6 Datenfelder als Argumente
Pfeil 4.8.7 Rekursiver Aufruf
Pfeil 4.8.8 Übungen zu Prozeduren und Funktionen
Pfeil 4.9 Konsolenanwendung
Pfeil 4.9.1 Anwendung erzeugen
Pfeil 4.9.2 Ein- und Ausgabe von Text
Pfeil 4.9.3 Eingabe einer Zahl
Pfeil 4.9.4 Erfolgreiche Eingabe einer Zahl
Pfeil 4.9.5 Ausgabe formatieren
Pfeil 4.9.6 Aufruf von der Kommandozeile

Rheinwerk Computing - Zum Seitenanfang

4.3 Ereignisgesteuerte ProgrammierungZur nächsten Überschrift

In diesem Abschnitt wird das Verständnis für die ereignisgesteuerte Programmierung vertieft. In Windows-Programmen löst der Benutzer Ereignisse aus, die der Entwickler mit Ereignisprozeduren besetzt hat. In diesen Ereignisprozeduren wird der Programmcode zu diesem Ereignis ausgeführt.


Rheinwerk Computing - Zum Seitenanfang

4.3.1 Eine EreignisketteZur nächsten ÜberschriftZur vorigen Überschrift

Sie haben auch die Möglichkeit, Ereignisse statt durch den Benutzer durch Programmcode auszulösen, indem die Ereignisprozedur mit ihrem Namen aufgerufen wird. Sie simulieren sozusagen die Tätigkeit des Benutzers. Dies kann die Programmentwicklung vereinfachen, weil dadurch die Folgen mehrerer Ereignisse zusammengefasst werden können, die aber auch nach wie vor einzeln ausgelöst werden können.

Das Programm im nachfolgenden Projekt Ereigniskette beinhaltet drei Buttons und zwei Labels. Bei Betätigung des Buttons Ereignis 1 erscheint ein Text in Label 1, bei Betätigung des Buttons Ereignis 2 erscheint ein Text in Label 2. Bei Betätigung des Buttons Ereignis 1+2 soll beides gleichzeitig passieren, siehe Abbildung 4.9. Ein weiterer Button soll zum Löschen der Label-Inhalte führen.

Abbildung

Abbildung 4.9 Zwei Ereignisse gleichzeitig auslösen

Der zugehörige Programmcode lautet:

Public Class Form1
Private Sub cmdEreignis1_Click(sender As Object,
e As EventArgs) Handles cmdEreignis1.Click
lblAnzeige1.Text = "Eins"
End Sub

Private Sub cmdEreignis2_Click(sender As Object,
e As EventArgs) Handles cmdEreignis2.Click
lblAnzeige2.Text = "Zwei"
End Sub

Private Sub cmdEreignis3_Click(sender As Object,
e As EventArgs) Handles cmdEreignis3.Click
cmdEreignis1_Click(sender, e)
cmdEreignis2_Click(sender, e)
End Sub

Private Sub cmdLöschen_Click(...) Handles ...
lblAnzeige1.Text = ""
lblAnzeige2.Text = ""
End Sub
End Class

Listing 4.3 Projekt »Ereigniskette«

Zur Erläuterung:

  • In der Prozedur cmdEreignis3_Click() werden die beiden Ereignisse cmdEreignis1_Click und cmdEreignis2_Click per Programmcode aufgerufen. Die beiden Parameter sender und e werden dabei vom Button Ereignis 1+2 übernommen. In beiden Labels wird anschließend Text angezeigt.

Rheinwerk Computing - Zum Seitenanfang

4.3.2 Endlose EreigniskettenZur nächsten ÜberschriftZur vorigen Überschrift

Sie können durch Aufrufe von Ereignisprozeduren allerdings auch (unbeabsichtigt) endlose Ereignisketten auslösen. Dabei stapeln sich die Prozeduraufrufe, und das Programm endet mit der Ausnahme StackOverFlowException. Solche endlosen Ereignisketten sind natürlich zu vermeiden. Nachfolgend sind zwei Beispiele angegeben.

Beispiel im Projekt ButtonEndlos: Zwei Buttons rufen sich gegenseitig auf:

Public Class Form1
Private Sub cmdEreignis1_Click(...) Handles ...
cmdEreignis2_Click(sender, e)
End Sub

Private Sub cmdEreignis2_Click(...) Handles ...
cmdEreignis1_Click(sender, e)
End Sub
End Class

Listing 4.4 Projekt »ButtonEndlos«

Zur Erläuterung:

  • Die Betätigung eines der Buttons simuliert die Betätigung des jeweils anderen Buttons.

Beispiel im Projekt TextfeldEndlos – zwei Textfelder ändern sich gegenseitig:

Public Class Form1
Private Sub txtEingabe1_TextChanged(...
) Handles txtEingabe1.TextChanged
txtEingabe2_TextChanged(sender, e)
End Sub

Private Sub txtEingabe2_TextChanged(...
) Handles txtEingabe2.TextChanged
txtEingabe1_TextChanged(sender, e)
End Sub
End Class

Listing 4.5 Projekt »TextfeldEndlos«

Zur Erläuterung:

  • Die Eingabe in eines der Textfelder simuliert die Änderung des Inhalts des jeweils anderen Textfelds. Dies simuliert wiederum die Änderung des Inhalts des ersten Textfelds usw.

Rheinwerk Computing - Zum Seitenanfang

4.3.3 Textfelder koppelnZur vorigen Überschrift

Eine nützliche Simulation eines Ereignisses ist dagegen das Kopieren von einem Textfeld in ein anderes Textfeld während der Eingabe. Sie können dieses Verhalten beobachten, wenn Sie in Visual Studio ein Projekt speichern.

Im Dialog Projekt speichern ist das Textfeld Projektmappenname zunächst an das Textfeld Name gekoppelt. Geben Sie im Textfeld Name etwas ein, so wird der eingegebene Text parallel in das andere Textfeld übernommen. Dieses Verhalten ändert sich allerdings, sobald Sie den Cursor in das Textfeld Projektmappenname setzen: Nun sind die beiden Textfelder wieder entkoppelt.

Das beschriebene Verhalten soll mithilfe des folgenden Programms im Projekt TextfeldKoppeln vorgeführt werden.

Public Class Form1
Dim Kopplung As Boolean

Private Sub Form1_Load(...) Handles MyBase.Load
txtName.SelectAll()
Kopplung = True
End Sub

Private Sub txtName_TextChanged(...
) Handles txtName.TextChanged
If Kopplung Then
txtProjektmappenname.Text = txtName.Text
End If
End Sub

Private Sub txtProjektmappenname_Click(...
) Handles txtProjektmappenname.Click
Kopplung = False
End Sub
End Class

Listing 4.6 Projekt »TextfeldKoppeln«

Zur Erläuterung:

  • Es wird eine klassenweit gültige Variable vom Typ Boolean deklariert. Diese Variable repräsentiert den Zustand der Kopplung. Sie wird beim Ereignis Form1_Load auf True gesetzt, da dies dem Anfangszustand entspricht: Die beiden Textfelder sind gekoppelt, siehe Abbildung 4.10.

Abbildung

Abbildung 4.10 Gekoppelte Textfelder

  • Außerdem wird mit der Methode SelectAll() der gesamte voreingetragene Inhalt des Textfelds (das Wort Standardtext) selektiert, also markiert. Dadurch erreichen Sie, dass der Inhalt durch eine Eingabe des Benutzers unmittelbar überschrieben werden kann.
  • Ändert sich der Inhalt des Textfelds Name, so wird in der Ereignisprozedur txtName_TextChanged() geprüft, ob die beiden Textfelder noch gekoppelt sind. Ist dies der Fall, wird der Inhalt unmittelbar in das Textfeld Projektmappenname kopiert.
  • Klickt der Benutzer in das Textfeld Projektmappenname, so wird die Kopplung gelöst, siehe Abbildung 4.11. Die Variable Kopplung wird auf False gestellt.

Abbildung

Abbildung 4.11 Entkoppelte Textfelder



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