Winform ListView控件是否有这样的事件,当“所有选定的项目更改为取消选择”时会触发?所以,当我在列表中有一些选定的项目并取消选择所有更改时(所以,现在我没有任何选定的项目)我应该捕获一个事件。我担心没有内置事件(?)或......?
答案 0 :(得分:1)
在ItemSelectionChanged上,检查是否在ListView中选中了任何项目:
listView1.ItemSelectionChanged += listView1_ItemSelectionChanged;
void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (listView1.SelectedItems.Count == 0)
//Do something
}
答案 1 :(得分:0)
您可以使用SelectedIndexChanged并在事件中检查是否取消选择所有项目,即..
bool allDeselected = true;
foreach (ListViewItem item in myListView.Items)
{
if (item.Selected)
{
allDeselected = false;
break
}
}
答案 2 :(得分:-1)
this.listView1.ItemSelectionChanged += this.HandleOnListViewItemSelectionChanged;
private void HandleOnListViewItemSelectionChanged(Object sender, ListViewItemSelectionChangedEventArgs e)
{
if (e.IsSelected)
{
//do your selected work
}
else
{
//do your unselected work
this.listView1.ItemSelectionChanged-= new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listView1_ItemSelectionChanged);
}
}