我有一个包含多个项目的列表视图。如果我选择了一个项目并单击一个空的空白区域或表单上的任何其他位置,则会删除突出显示但是.FocusedItem& .SelectedItems仍然报告一个项目被选中。
当没有选择listviewitems时,我想要触发的事件,但似乎永远不会发生。如何检测是否没有选择任何项目,或者在第一个项目被点击后是否实际发生过?
Private Sub lstCats_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstCats.SelectedIndexChanged
If IsNothing(lstCats.FocusedItem) Then
DisableGUI()
Else
EnableGUI()
DisplayQuestions()
End If
End Sub
基本上DisableGUI()
永远不会执行。
谢谢!
答案 0 :(得分:1)
您可以通过单击ListView控件的空白部分(不在其中一个项目上)来取消选择ListView中的所有项目。例如:
Private Sub lstCats_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstCats.SelectedIndexChanged
If lstCats.SelectedItems.Count = 0 Then
DisableGUI()
Else
EnableGUI()
DisplayQuestions()
End If
End Sub
请注意,如果单击ListView中的项目,SelectedItems将是> 0.如果单击ListView的背景(不在项目上),SelectedItems将为= 0.这假定ListView控件的一部分不包含项目。