C# ListView ItemSelectionChanged Event Multi Select получает ТОЛЬКО последний выбранный элементC#

Место общения программистов C#
Anonymous
C# ListView ItemSelectionChanged Event Multi Select получает ТОЛЬКО последний выбранный элемент

Сообщение Anonymous »

Я использую ListView с множественным выбором в C# .NET 4.5
Проблема возникает при выборе нескольких элементов (например, Shift + End или Shift + Click и т. д.). Это всего лишь несколько примеров использования множества различных мышью. Конечно, /комбинации клавиш для множественного выбора.

Это мой обработчик событий при выборе элементов в списке:

Код: Выделить всё

private void lvTitles_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
MessageBox.Show(e.Item.Text.ToString());
//MessageBox just for testing I am actually running a SQL query here
}
Моя проблема в том, что если я выберу 500 элементов, событие сработает 500 раз. Цель состоит в том, чтобы включить этот последний элемент, выбранный пользователем (с помощью упомянутых выше комбинаций клавиатуры и мыши), и что-то с ним сделать... в моем случае мне нужно запустить к нему SQL-запрос.

Если я сначала нажму на элемент 0 в списке, можно будет выполнить запрос, затем, когда вы нажмете клавишу Shift + End, он подсветит все остальные, и я хочу, чтобы запрос выполнялся только в последнем элемент выбран. Вместо этого он запускается для каждого промежуточного элемента.

РЕДАКТИРОВАТЬ: С другой стороны, событие срабатывает и при отмене выбора, и в этом случае его действительно не должно быть. ничего не делайте при отмене выбора.

Подробнее здесь: https://stackoverflow.com/questions/190 ... -item-sele

Вернуться в «C#»