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.20 Das Ereignis »Klick«  toptop

Zuerst lassen Sie uns das Ereignis »Klick« noch etwas genauer an einem Beispiel ansehen: Neben den beiden Rahmen werden zwei Kontrollkästchen aufgezogen. Sie benötigen keinen Rahmen, da sie unabhängig voneinander angeklickt werden können.

Das erste wird »chkMilch« genannt, die Beschriftung lautet: »mit Milch«, das zweite heißt »chkZucker« und trägt die Beschriftung »mit Zucker«. Der Benutzer – so lautet der Wunsch – soll nun seine Getränke mit einem Zusatz auswählen können.

Abbildung

Abbildung 1.36   Zwei Kontrollkästchen

In der Ok-Schaltfläche wird eine weitere Variable deklariert:

Dim strZusatz As String

Da CheckBoxes und Radiobuttons sehr ähnlich sind, können Sie direkt eingeben:

If chkMilch.Checked = True Then
   strZusatz = " mit Milch"
End If
If chkZucker.Checked = True Then
   strZusatz = strZusatz & " mit Zucker"
End If

Da beide Kontrollkästchen unabhängig voneinander gewählt werden können, müssen die beiden Verzweigungen unabhängig voneinander prüfen. Es darf nicht mit

ElseIf 

gearbeitet werden, denn das würde beide Zutaten voneinander ausschließen.

Natürlich wird das Getränk mit Zusatz angezeigt:

MessageBox("Achtung: " & txtName.Text & _
"Jetzt gibt es " & strGröße & strGetränk & strZusatz & "!")

Zwei Dinge fallen auf. Zum einen ist das Ergebnis sprachlich nicht schön, wenn der Benutzer beide Zusätze gewählt hat. Dies kann verbessert werden:

If chkZucker.Checked = True Then
   If strZustand = "" Then
      strZusatz = strZusatz & " mit Zucker"
   Else
      strZusatz = strZusatz & " und mit Zucker"
   End If
End If

Danach sollte natürlich die Variable strZusatz geleert werden. Nimmt der Benutzer nämlich zwei Getränke, so hat er noch die alte Information, die weiterverarbeitet wird:

strZusatz = ""
Abbildung

Abbildung 1.37   Mit Milch und Zucker

Schlimmer als diese sprachliche Ungenauigkeit scheint aber die Tatsache, dass der Benutzer nun auch Cola und Wasser mit Milch und mit Zucker bestellen kann. Das soll verboten werden. Man könnte es in der OK-Schaltfläche überprüfen und entsprechend reagieren. Oder man lässt erst gar nicht zu, dass er eine solche Kombination auswählt. Klickt der Benutzer auf Cola, dann werden Milch und Zucker deaktiviert. Das auslösende Ereignis ist also wieder der Klick. Mit einem Doppelklick auf den Cola-Button gelangen Sie in das Ereignis

Private Sub optCola_CheckedChanged(ByVal _
sender As System.Object, ByVal e As _

System.EventArgs) Handles OptCola.CheckedChanged

End Sub

Dort hinein kommt der Code

chkMilch.Enabled = False
chkZucker.Enabled = False

Die gleichen Zeilen kommen in das Auswähl-Ereignis des Optionsbuttons »optWasser«. Daraus ergibt sich das nächste Problem. Angenommen, der Benutzer wählt Cola aus, entscheidet sich aber anschließend doch für Kaffee. Nun kann er den Kaffee nicht mehr mit Milch oder Zucker trinken. Also muss in den anderen drei Optionsbuttons diese Eigenschaft deaktiviert werden:

chkMilch.Enabled = True
chkZucker.Enabled = True

Nun gibt es Kaffee, Tee und Schokolade mit Milch, bei Cola und Wasser kann diese Option nicht ausgewählt werden, daraus ergibt sich ein weiteres Problem:

Entscheidet sich der Benutzer zuerst für Kaffee mit Zucker, ändert anschließend aber seine Entscheidung und drückt auf »Wasser«, so sind zwar »Milch« und »Zucker« deaktiviert, aber die Haken sind noch eingeschaltet. Diese müssen entfernt werden. Der Code für Wasser und Cola wird erweitert:

chkMilch.Checked = False
chkZucker.Checked = False
  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML