2016-05-19 3 views
1

У меня есть ToolStrip работает как панель задач Windows. Когда пользователь открывает новую форму, ярлык с символом формы появляется на ToolStrip в качестве нового элемента ярлыка. У меня также есть кнопка, которая сразу закрывает все формы. Но я хочу, чтобы удалить все соответствующие метки, поэтому я добавил это в случае щелчка ...VB.NET - Как удалить несколько элементов из ToolStrip?

For Each mdichildlabel As ToolStripLabel In Me.BottomToolStrip.Items 
    If mdichildlabel.Name = "NewLabel" Then 
     BottomToolStrip.Items.Remove(mdichildlabel) 
    End If 
Next 

Но я получаю эту ошибку: An unhandled exception of type 'System.InvalidOperationException' occurred in mscorlib.dll

ответ

2

Не работа не сказать нам, что вы видят, что это не работает.

Как правило, вы не можете изменять коллекцию, пока она используется для изменения позиции индекса. Попробуйте выполнить повтор над ним назад:

For i As Integer = Me.BottomToolStrip.Items.Count - 1 to 0 Step -1 
    If Me.BottomToolStrip.Items(i).Name = "NewLabel" Then 
    Me.BottomToolStrip.Items.RemoveAt(i) 
    End If 
Next 
+0

Большое спасибо !!! Я изменил предложение «не работает» с ошибкой, которую я получал ... –

Смежные вопросы