Как удалить несколько элементов из ListView C # с помощью кнопки удаления

Итак, у меня есть простой ListView, в который пользователи могут добавлять информацию, и кнопка удаления, которая может удалять только один выбранный элемент за раз. Я пытаюсь сделать так, чтобы при выборе нескольких элементов и нажатии кнопки «удалить» он удалял эти выбранные элементы, а не только один. Ваша помощь очень ценится!

Добавьте код получателя:

 private void addtoRecipients_Click(object sender, EventArgs e)
    {
        if (recipientEmailBox.Text != "")
        {
            string[] S = new string[4];
            S[0] = recipientEmailBox.Text;
            S[1] = recipientNameBox.Text;
            S[2] = txtLocation.Text;
            S[3] = txtSubject.Text;
            ListViewItem I = new ListViewItem(S);
            recipientBox.Items.Add(I);
            UpdateNoOfEmails();
        }
    }

Код моей кнопки удаления (на данный момент удаляет только один выбор)

 private void deleteEntryBTN_Click(object sender, EventArgs e)
    {
        try { recipientBox.Items.Remove(recipientBox.SelectedItems[0]); }

        catch { }
        UpdateNoOfEmails();
    }

Очистить код всех получателей

private void clearBTN_Click(object sender, EventArgs e)
    {
        recipientBox.Items.Clear();
        UpdateNoOfEmails();
    }

person user2448617    schedule 16.05.2016    source источник


Ответы (1)


В моем случае самый простой способ сделать это - использовать цикл while. Вот как выглядит мой новый код кнопки удаления:

 private void deleteEntryBTN_Click(object sender, EventArgs e)
    {
        try
        {
            while (recipientBox.SelectedItems.Count > 0)
            {
                recipientBox.Items.Remove(recipientBox.SelectedItems[0]);
            }
        }

        catch { }
        UpdateNoOfEmails();
    }
person user2448617    schedule 16.05.2016