J'ai travaillé sur un petit projet et, fondamentalement, il s'agit d'un formulaire parent qui a un enfant avec des contrôles onglet à l'intérieur. Lorsque je change d'onglet, il ajoute les options pertinentes pour cet onglet à la bande de menu des parents. Ce que je voudrais faire est, au lieu de chaque fois que je change d'onglet une nouvelle 'Options' apparaît sur la bande de menu, donc après quelques changements d'onglet il a 'Options' 'Options' 'Options' 'Options' sur la bande de menu, mais je préfère supprimer les options de l'onglet précédent et seulement les 1 options affichées.Supprimer ToolStripMenuItem à partir de formulaires parent MenuStrip
Le code que j'ai à ce jour pour supprimer les options avant d'ajouter de nouvelles est comme suit:
Dim ParentForm As frmNavigation = frmNavigation
Dim OptionsMenuStrip As MenuStrip = ParentForm.Controls("MenuStrip1")
Dim Items As ToolStripItemCollection = OptionsMenuStrip.Items
For Each Item As ToolStripMenuItem In Items
If Item.Name = "OptionsMenu" Then
Item.Dispose()
End If
Next
mais je reçois l'erreur
'Collection was modified; enumeration operation may not execute.'
Ce que je comprends est, fondamentalement, il dit la collections qui le change pendant qu'il est lu, je pense?
Je ne sais pas un moyen de contourner
Toute aide pour obtenir ce que je veux serait grandement apprécié.
Je peux même aller tout à fait dans le mauvais sens à ce sujet mais je me sens si proche!
Merci vous :)
J'ai eu (à partir de tentatives de recherche précédentes) rencontré cette méthode, mais je ne pouvais pas tout à fait le faire fonctionner, mais je vais essayer votre code. Cela semble être la bonne façon de le faire. Je vais l'essayer maintenant. – DIMPeteAsUsername
Merci beaucoup, parfait. – DIMPeteAsUsername