• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 246
  • Last Modified:

How do I ensure an item is selected in a ListView?

I have a listview and I want to ensure that an item is always selected.  If a user clicks in a blank area of the listview, I want the current selection to remain selected.  I have some code below that does the job, but it seems overly complicated.  Is there an easier way to do this?
Private p_lvwItem As ListViewItem = Nothing
 
Private Sub lvwList_ItemSelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedEventArgs) Handles lvwList.ItemSelectionChanged 
  If Not e.IsSelected Then 
    p_lvwItem = e.Item 
  End If 
End Sub 
 
Private Sub lvwList_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lvwList.MouseDown 
  lvwList.BeginUpdate() 
End Sub 
 
Private Sub lvwList_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lvwList.MouseUp 
  If lvwList.SelectedItems.Count = 0 Then 
    lvwList.Items.Item(p_lvwItem.Index).Selected = True 
  End If 
  lvwList.EndUpdate() 
End Sub

Open in new window

0
appsysdco
Asked:
appsysdco
1 Solution
 
Krys_KCommented:
HI There
I'm not sure there is a better way to do this other than what you have. Given your criteriea that if any of the ListView object itself is clicked and is blank.
If your criteria was a little different, such as If the Listview has lost the focus and nothing is selected then select an item; you could use the LostFocus Event to do the same thing instead.
Regards
Krystian
0
 
appsysdcoAuthor Commented:
Thanks, I wasn't sure if there was going to be an easier way or not.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now