Dans ma boucle, j'essaie de supprimer des éléments d'une liste qui ont un certain nom. Je ne peux pas le faire avec un for-each, donc j'ai essayé un for-loop régulier. Il semble que la boucle for ne fonctionne pas comme prévu. Cela dépasse toujours la limite. J'ai dû mettre un if-then pour sortir de la boucle (solution très moche). J'essaie de trouver la bonne façon d'accomplir cela.Modification des variables d'incrémentation pour que la boucle dépasse la limite
Dim canShowNextTable As Boolean = False
Dim allTablesInTab As List(Of Control) = ctrlFinder.GetTypeOfControls("Table", parentForm.Controls)
Dim totalTables As Integer = allTablesInTab.Count - 1
For i As Integer = 0 To totalTables
If allTablesInTab.Item(i).ID = "CustomerTable" Or _
allTablesInTab.Item(i).ID = "PMTable" Or _
allTablesInTab.Item(i).ID = "TableAListClrnCheck" Or _
allTablesInTab.Item(i).ID = "TableBListClrnCheck" Or _
allTablesInTab.Item(i).ID = "TableCListClrnCheck" Or _
allTablesInTab.Item(i).ID = "TableDListClrnCheck" Or _
allTablesInTab.Item(i).ID = "TableSignature" Then '' If the ID is one of these remove it from list
allTablesInTab.Remove(allTablesInTab.Item(i))
totalTables = totalTables - 1 '' Decrement number of tables to loop through
i = -1 '' Reset counter to prevent going over or premature stopping
End If
If i = 3 AndAlso totalTables = 3 Then '' Since loop continuously goes over limit, use if-then to exit for-loop
Exit For
End If
Next
+1 Vous pourriez envisager d'ajouter la syntaxe. –
@Conrad merci, vous pourriez m'a attrapé mi-edit :) –
Merci messieurs. Ça a marché comme sur des roulettes. – dotnetN00b