5.18 Wie stelle ich fest, ob ein Eintrag im ListView wirklich ausgewählt ist?
VB5-VB6
Von: Thorsten Dörfler
Bei dem ListView bzw. TreeView Control aus den Windows Common Controls lassen sich drei Zustände einer Auswahl feststellen:
- Kein Eintrag ausgewählt
objekt.SelectedItem
istNothing
- Ein Eintrag ist fokussiert
objekt.SelectedItem
gibt das fokussierte Element zurück, aber die Selected-Eigenschaft gibtFalse
zurück. - Ein Eintrag ist ausgewählt
objekt.SelectedItem
gibt das fokussierte Element zurück und die Selected-Eigenschaft gibtTrue
zurück.
Um also zu überprüfen, ob ein Eintrag wirklich ausgewählt ist, müssen Sie prüfen,
ob die SelectedItem-Eigenschaft eine gültige Referenz angibt und ob die Selected-Eigenschaft True
zurückgibt. Für das ListView sähe dies wie folgt aus:
If Not ListView1.SelectedItem Is Nothing Then If ListView1.SelectedItem.Selected Then ' Item richtig, wirklich selektiert End If End If
Analog für das TreeView:
If Not TreeView1.SelectedItem Is Nothing Then If TreeView1.SelectedItem.Selected Then ' Item richtig, wirklich selektiert End If End If
Hinweis: Beim ListView der Windows Common Controls 6.0 ist immer der erste Eintrag ausgewählt, nachdem Einträge hinzugefügt wurden. Wenn das ListView gerade nicht den Fokus hat und die HideSelection-Eigenschaft auf 'True' gesetzt ist (Standardeinstellung) sieht man diese Auswahl nicht.