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.SelectedItemistNothing - Ein Eintrag ist fokussiert
objekt.SelectedItemgibt das fokussierte Element zurück, aber die Selected-Eigenschaft gibtFalsezurück. - Ein Eintrag ist ausgewählt
objekt.SelectedItemgibt das fokussierte Element zurück und die Selected-Eigenschaft gibtTruezurü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.