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 2 Aufbauwissen VB.NET
  gp 2.1 Ein zweiter Dialog
  gp 2.2 Ein Süßigkeitenautomat
  gp 2.3 Eine Listbox
  gp 2.4 With ... End With
  gp 2.5 Die Liste
  gp 2.6 Eine ComboBox
  gp 2.7 Die Select-Case-Verzweigung
  gp 2.8 Ein theoretischer Exkurs: Ereignisse
    gp 2.8.1 Dynamisch ein- und ausblenden
    gp 2.8.2 Dynamische Größenänderung
  gp 2.9 Zwei völlig überflüssige Beispiele
  gp 2.10 Schleifen
  gp 2.11 For ... Next
  gp 2.12 Do ... Loop
  gp 2.13 Eine Schleife über den Süßigkeiten
  gp 2.14 Ein theoretischer Exkurs: Sammlungen oder Collections
  gp 2.15 Die For ... Each-Schleife
  gp 2.16 Schleifen spielerisch
    gp 2.16.1 Primzahlen
    gp 2.16.2 Fibonacci-Zahlen
    gp 2.16.3 ggT und kgV
    gp 2.16.4 Ein Scherz zum Schluss
  gp 2.17 Rekursives Programmieren
  gp 2.18 Arrays (Datenfelder)
    gp 2.18.1 Eindimensionale Arrays
    gp 2.18.2 Mehrdimensionale Arrays
  gp 2.19 Konstanten
  gp 2.20 Funktionen
  gp 2.21 Zusammenfassung


Galileo Computing

2.5 Die Liste  toptop

Der aus der Liste ausgewählte Eintrag wird ausgegeben. Dieser Code steckt hinter dem Ok-Button:

MessageBox.Show("Es wurde gewählt Nr.: " & _
lstListe.SelectedIndex

Damit wird die Nummer angezeigt. Da aber der gewählte Text angezeigt werden soll, muss die Nummer verwendet werden, um darüber den Text zu ermitteln:

MessageBox.Show("Jetzt gibt es: " & _
lstListe.Items(lstListe.SelectedIndex))
Abbildung

Abbildung 2.4   Ein Eintrag wurde gewählt.

Die Eigenschaft SelectedIndex liefert also die Nummer des ausgewählten Eintrags (Achtung: Die Zählung beginnt mit 0!), Items ist die Sammlung aller Einträge, von denen einer gewählt wird. Natürlich kann man SelectedIndex an eine Variable übergeben – dies empfiehlt sich vor allem dann, wenn an mehreren Stellen der markierte Eintrag verarbeitet wird. Hat nun der Benutzer vergessen einen Eintrag auszuwählen, dann erhält SelectedIndex den Wert –1 und Items(-1) liefert einen Fehler. Dieser sollte natürlich abgefangen werden:

If lstListe.SelectedIndex = -1 Then
   MessageBox.Show("Bitte etwas auswählen!")
Else
   MessageBox.Show("Jetzt gibt es: " & _
   lstListe.Items(lstListe.SelectedIndex))
End If
Abbildung

Abbildung 2.5   Der Benutzer hat vergessen, etwas auszuwählen.

Natürlich könnte man per Programmierung beim Initialisieren des Dialogs einen Eintrag auswählen – der Benutzer hätte dann keine Möglichkeit mehr, nichts mehr auszuwählen. Der Befehl könnte so aussehen:

lstListe.SelectedIndex = 0

Mit Hilfe von zwei weiteren Schaltflächen soll der Benutzer einen (markierten) Eintrag löschen können oder alle löschen dürfen. Der Code sieht folgendermaßen aus:

If lstListe.SelectedIndex = -1 Then
   MessageBox.Show("Bitte etwas auswählen!")
Else
   lstListe.Items.Remove _
   (lstListe.Items(lstListe.SelectedIndex))
End If

Oder auch wieder:

With lstListe
   If .SelectedIndex = -1 Then
      MessageBox.Show("Bitte etwas auswählen!")
   Else
      .Items.Remove(.Items(.SelectedIndex))
   End If
End With
Abbildung

Abbildung 2.6   Nun sind sie fast alle weg.

Das sieht enorm schwierig aus. Dieser Befehl muss so umständlich geschrieben werden, weil die Methode Remove ein Objekt verlangt. SelectedIndex liefert aber leider nur eine Zahl. Erst Items(lstListe.SelectedIndex) gibt das korrekte Objekt zurück.

Alle Einträge zu löschen, ist nun nicht mehr schwierig:

lstListe.Items.Clear()

Über eine weitere Schaltfläche soll die Liste erweitert werden. Auch das stellt keine große Schwierigkeit dar:

lstListe.Items.Add("Überraschungsei")

Man kann den neuen Überraschungseiern auch Nummern zuweisen:

lstListe.Items.Add("Überraschungsei " & _
lstListe.Items.Count.ToString)
Abbildung

Abbildung 2.7   Die Liste kann zur Laufzeit gefüllt werden.

  

VB.NET

Einstieg in ASP.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML