C# - Справка: Listview SelectedItems Недопустимое значение индекса

Я программирую в WindowsForms, пытаясь удалить элементы из списка с помощью кнопки. Я попытался с помощью следующего кода:

private void btnQuitar_Click(object sender, EventArgs e)
    {
        if(listvPrincipal.Items.Count > 0)
        {
            while (listvPrincipal.Items.Count > 0)
                listvPrincipal.Items.Remove(listvPrincipal.SelectedItems[0]);
        }
    }

Но каждый раз, когда я выбираю элемент и нажимаю кнопку "Удалить", возникает следующая ошибка:

InvalidArgument = Value of '0' is not valid for 'index'.

Я искал эту проблему, но в каждом ответе говорилось, что проблема заключалась в том, что ни один элемент не был выбран, и для его решения необходимо убедиться, что " Items.Count > 0 ".

Перед тем, как нажать кнопку, убедитесь, что у меня выбран элемент.

Я использовал тот же код в другом проекте, и он работает просто отлично. Я не уверен, почему это не работает здесь. Любая идея?

1 ответ

Решение

Вы должны проверять SelectedItems собственность не Items имущество:

private void btnQuitar_Click(object sender, EventArgs e)
{
    while (listvPrincipal.SelectedItems.Count > 0)
        listvPrincipal.Items.Remove(listvPrincipal.SelectedItems[0]);
}
Другие вопросы по тегам