Событие «Выбранные элементы изменены для отмены» в представлении списка WinForm - PullRequest
2 голосов
/ 24 ноября 2011

Есть ли в элементе управления Winform ListView такое событие, которое срабатывает, когда «все выбранные элементы изменены на отмененные»? Итак, когда у меня есть некоторые выбранные элементы в списке и все изменения отменены (так что теперь у меня нет выбранных элементов), я должен поймать событие. Я боюсь, что нет встроенного события для этого (?) Или ...?

Ответы [ 3 ]

1 голос
/ 24 ноября 2011

В ItemSelectionChanged проверьте, отмечен ли какой-либо элемент в ListView:

listView1.ItemSelectionChanged += listView1_ItemSelectionChanged;

void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
    if (listView1.SelectedItems.Count == 0)
        //Do something
}
0 голосов
/ 24 ноября 2011

Вы можете использовать SelectedIndexChanged и при проверке событий отменить выбор всех элементов, т. Е. ..

    bool allDeselected = true;

    foreach (ListViewItem item in myListView.Items)
    {
        if (item.Selected)
        {
            allDeselected = false;
            break
        }
    }
0 голосов
/ 24 ноября 2011
   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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...