Эта часть приложения представляет собой простые строки добавления и удаления динамически добавленных элементов управления. Это программное обеспечение для транспортировки, и пользователь добавляет или удаляет позиции в заказе. Добавление строк работает нормально, однако теперь я кодирую часть удаления и столкнулся с этой проблемой ниже. Каждый динамически добавленный элемент управления заканчивается уникальным индексом, относящимся к тому, к какой строке элементов он принадлежит. Таким образом, следующий код должен удалить одну строку из 7 элементов управления, все они заканчиваются одним и тем же индексом. Тем не менее, он удалил только половину из них, поэтому я включил FOR EACH в другой цикл FOR, чтобы четыре раза ударить элементы управления, И ТЕПЕРЬ ЭТО РАБОТАЕТ!?!? Каждый раз, когда я увеличивал родительский цикл, чтобы снова набрать элементы управления, он удалил еще пару, пока магическое число 4 не удалило их все. Что может быть причиной этого?Для каждого элемента управления, не возвращающего все элементы управления
For p As Integer = 1 To 4
For Each c As Control In grpVehicles.Controls
If c.Name.EndsWith(removeIndexClicked) Then
grpVehicles.Controls.Remove(c)
End If
Next
Next
«следует удалить одну строку 7 управления» - звуки, которые вы для пользовательского элемента управления –
Одна вещь, которую я могу сказать вам, если вы хотите коллекции петли, которые вы планируете изменить в процессе итерации, т.е. добавлять/удалять элементы - использовать цикл 'While' и никогда' For' loop –