Как да изтриете множество елементи от 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