Это проект .NET 3.5 Winforms.CheckedListBox отклоняет аргумент вне диапазона, когда он не должен
У меня возникла странная ошибка, пытающаяся программно проверить флажки в checkboxlist.
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 { «Индекс находился вне диапазона Должно быть неотрицательным и меньше, чем размер коллекции \ г \ nParameter имя:.. Индекс»}
я могу см. первый флажок, проверенный визуально. Остальные из них не связаны с указанным выше исключением.
Это довольно непонятно. Только для целей тестирования, я пытался добавить элементы первой и программно проверить их позже с помощью второго цикла, но все та же проблема возникает, даже если счетчик флажком 5.
Я попытался с помощью SetItemCheckState вместо. Опять же, тот же вопрос.
Я думаю, что я мог сломать сам компонент CheckedListBox или какую-то странную фреймворческую ошибку, с которой я столкнулся.
Любое понимание того, что здесь происходит, было бы действительно оценено.
Я попытался запустить свой код без добавления cbList и никаких ошибок поэтому, возможно, есть что-то еще происходит, что вы можете быть видом я побежал код в ваш цикл звучит как ошибка дизайнера, когда вы либо добавить или удалить элементы управления – MethodMan
у вас реализовано какое-либо событие, чтобы поймать CheckedChanged или что-то, что срабатывает при изменении check check? –