在WinForm列表视图中,“所选项目已更改为取消选择”事件

时间:2011-11-24 16:28:27

标签: .net winforms listview

Winform ListView控件是否有这样的事件,当“所有选定的项目更改为取消选择”时会触发?所以,当我在列表中有一些选定的项目并取消选择所有更改时(所以,现在我没有任何选定的项目)我应该捕获一个事件。我担心没有内置事件(?)或......?

3 个答案:

答案 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);
        }
    }