ListView - Immer ein Element selektiert

26/10/2009 - 11:40 von Thomas Kehl | Report spam
Hallo.
Ich habe eine Form auf der ein ListView liegt (Standard-ListView). Nun
möchte ich sicherstellen, dass immer ein Item selektiert ist. D.h.
wenn in den "weissen leeren" Bereich geclickt wird, soll nicht das
aktive Item deselektiert werden und dann keines selektiert
sein,sondern das aktuelle Item soll selektiert bleiben.
Kann mir jemand einen Tipp geben, wie ich das erreichen kann?

Vielen Dank.

Herzliche Grüsse
Thomas
 

Lesen sie die antworten

#1 Thorsten Doerfler
27/10/2009 - 10:43 | Warnen spam
Thomas Kehl schrieb:
Ich habe eine Form auf der ein ListView liegt (Standard-ListView). Nun
möchte ich sicherstellen, dass immer ein Item selektiert ist.



Gibt es einen Grund, warum immer ein Item selektiert sein muss?

wenn in den "weissen leeren" Bereich geclickt wird, soll nicht das
aktive Item deselektiert werden und dann keines selektiert
sein,sondern das aktuelle Item soll selektiert bleiben.
Kann mir jemand einen Tipp geben, wie ich das erreichen kann?



Nicht so schön gelöst, aber ein Vorschlag:

Public Class Form1

Private m_LastSelected As ListViewItem
Private m_Timer As Timer

Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs _
) Handles Me.Load

If Me.components Is Nothing Then
Me.components = New System.ComponentModel.Container
End If

m_Timer = New Timer(Me.components)
m_Timer.Interval = 10
AddHandler m_Timer.Tick, AddressOf OnSelectionReset
End Sub

Private Sub ListView1_ItemSelectionChanged( _
ByVal sender As Object, _
ByVal e As ListViewItemSelectionChangedEventArgs _
) Handles ListView1.ItemSelectionChanged

If e.IsSelected = False Then
m_LastSelected = e.Item

m_Timer.Enabled = True
End If
End Sub

Private Sub OnSelectionReset(ByVal sender As System.Object, _
ByVal e As System.EventArgs)

DirectCast(sender, Timer).Enabled = False

If ListView1.SelectedItems.Count = 0 _
And m_LastSelected IsNot Nothing Then
m_LastSelected.Selected = True
End If
End Sub
End Class

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen