Это проект Winforms .NET 3.5.
У меня странная ошибка при попытке программно установить флажки в списке флажков.
for (int i = 0; i < 5; i++)
{
cBListForming.Items.Add((i + 1).ToString());
cBListForming.SetItemChecked(i, true);
}
Таким образом, он добавляет 5 элементов, от 1 до 5, а затем по умолчанию устанавливает добавленные флажки. Ничего удивительного.
На первой итерации цикла все работает нормально, но на второй итерации (i == 1) SetItemChecked выдает исключение.
System.ArgumentOutOfRange {"Индекс вышел за пределы диапазона. Он должен быть неотрицательным и меньше размера коллекции.\r\nИмя параметра: индекс"}
Я также вижу, что первый флажок установлен визуально. Остальные не из-за вышеуказанного исключения.
Это довольно сбивает с толку. Просто в целях тестирования я попытался сначала добавить элементы, а затем программно проверить их с помощью второго цикла, но все равно возникает та же проблема, хотя счетчик флажка равен 5.
Вместо этого я попытался использовать SetItemCheckState. Опять та же проблема.
Я думаю, что, возможно, я сломал сам компонент CheckedListBox или какую-то странную ошибку фреймворка, с которой я столкнулся.
Любое понимание того, что здесь происходит, будет очень признательно.