7.8 Steuerelement ListView
Eine besondere Form der Listenansicht bietet das Steuerelement ListView. Sie finden es in der Toolbox in der Gruppe allgemeine Steuerelemente. Zu jedem Eintrag der ListView kann ein Bild angezeigt werden. Eine ListView ähnelt der Liste der Dateien im Windows-Explorer.
Insgesamt gibt es fünf Formen der Darstellung, die als Werte der Enumeration View der gleichnamigen Eigenschaft des ListView-Objekts zugewiesen werden:
- Details: Eine Tabelle mit Bild und mehreren Informationen pro Eintrag. Die einzelnen Tabellenspalten können eine Überschrift haben und in der Breite verändert werden.
- LargeIcon: Ein großes Bild mit Bezeichnung darunter pro Eintrag.
- List: Eine Spalte mit einem kleinen Bild mit Bezeichnung daneben pro Eintrag. Weitere Informationen pro Eintrag können in weiteren Spalten angeordnet werden.
- SmallIcon: Ein kleines Bild mit Bezeichnung rechts daneben pro Eintrag.
- Tile: Ein großes Bild mit Bezeichnung und weiteren Informationen rechts daneben pro Eintrag.
Im Projekt Listenansicht sehen Sie eine kleine Liste in der Ansicht Details, siehe Abbildung 7.35. Sie können zwischen den möglichen Ansichten umschalten.
Abbildung 7.35 Projekt »Listenansicht«, Details
Zunächst der Code:
Public Class Form1
Private Sub Form1_Load(...) Handles MyBase.Load
lView.View = View.Details
lView.FullRowSelect = True
Dim eintrag1 As New ListViewItem("Berlin.txt", 0)
eintrag1.SubItems.Add("120 KB")
eintrag1.SubItems.Add("13.05.2012")
lView.Items.Add(eintrag1)
Dim eintrag2 As New ListViewItem("Paris.txt", 1)
eintrag2.SubItems.Add("130 KB")
eintrag2.SubItems.Add("05.05.2012")
lView.Items.Add(eintrag2)
Dim eintrag3 As New ListViewItem("Rom.txt", 2)
eintrag3.SubItems.Add("100 KB")
eintrag3.SubItems.Add("24.05.2012")
lView.Items.Add(eintrag3)
lView.Columns.Add("Name", 100)
lView.Columns.Add("Größe", 100)
lView.Columns.Add("Datum", 100)
' Bilder stehen in Unterverzeichnis bin/Debug
Dim bildklein As New ImageList()
bildklein.Images.Add(Bitmap.FromFile("bild0.bmp"))
bildklein.Images.Add(Bitmap.FromFile("bild1.bmp"))
bildklein.Images.Add(Bitmap.FromFile("bild2.bmp"))
lView.SmallImageList = bildklein
lView.LargeImageList = bildklein
End Sub
Private Sub optView_CheckedChanged(...
) Handles optDetails.CheckedChanged,
optLargeIcon.CheckedChanged,
optList.CheckedChanged,
optSmallIcon.CheckedChanged,
optTile.CheckedChanged
If optDetails.Checked Then
lView.View = View.Details
ElseIf optLargeIcon.Checked Then
lView.View = View.LargeIcon
ElseIf optList.Checked Then
lView.View = View.List
ElseIf optSmallIcon.Checked Then
lView.View = View.SmallIcon
ElseIf optTile.Checked Then
lView.View = View.Tile
End If
End Sub
End Class
Listing 7.22 Projekt Listenansicht
Zur Erläuterung:
- In der Form_Load-Prozedur wird das ListView-Objekt gefüllt und es werden Starteinstellungen vorgenommen.
- Die Eigenschaft View wird auf den Wert Details gesetzt, auch wenn dies nicht notwendig wäre, da dies der Standardwert ist.
- Die boolesche Eigenschaft FullRowSelect bestimmt darüber, ob ein Klick innerhalb der Zeile eines Eintrags die ganze Zeile markiert oder nicht. Der Standardwert ist False. Dann kann nur der Haupteintrag durch Klick ausgewählt werden, nicht die ganze Zeile.
- Ein Objekt der Klasse ListViewItem steht für einen Eintrag innerhalb der Liste. Der hier genutzte Konstruktor benötigt zwei Parameter: den Text des Eintrags und die Nummer der zugehörigen Bilddatei innerhalb der beiden Bildlisten SmallImageList und LargeImageList. Den Aufbau der beiden Bildlisten sehen Sie weiter unten.
- Zu einem Eintrag können weitere Untereinträge gehören. Diese werden dem Eintrag mithilfe der Methode Add() der Auflistung SubItems hinzugefügt.
- Nach Erzeugung eines Eintrags mitsamt Untereinträgen wird er der Auflistung Items des ListView-Objekts hinzugefügt, wiederum mithilfe der Methode Add().
- Die Auflistung Columns beinhaltet die Überschriften der Spalten, in denen der Haupteintrag und seine Untereinträge dargestellt werden. Als Parameter der Methode Add() zum Hinzufügen einer Überschrift dienen hier der Text und die Start-Breite der Spalte.
- Die Eigenschaften SmallImageList und LargeImageList sind Bildlisten. Jedes Bild wird über seine Nummer einem Eintrag des ListView-Objekts zugeordnet.
- Die beiden Eigenschaften sind jeweils vom Typ ImageList. Ein solches Objekt beinhaltet in seiner Auflistung Images einzelne Objekte vom Typ Image. Ein Image-Objekt kann zum Beispiel aus einer Bilddatei mithilfe der Methode FromFile() der Klasse Bitmap erzeugt werden. Im vorliegenden Projekt stehen die Bilddateien zur Vereinfachung im Projekt-Unterverzeichnis bin/Debug zur Verfügung.
- Die Prozedur optView_CheckedChanged reagiert auf das Ereignis: Wechsel des Markierungszustands. Sie ist für jeden RadioButton registriert. Innerhalb der Prozedur wird der Eigenschaft View ein Wert aus der gleichnamigen Enumeration zugewiesen.
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.