Réutiliser des DropDownItems créés dynamiquement

Signaler
-
 Dyesel -
Bonjour :)

Voilà, je suis bloqué depuis quelques heures sur un problème qui m'arrache les cheveux ^^'
J'ai créé une fenêtre MDI qui me permet d'ouvrir tous les projets que j'ai fait jusqu'à maintenant (une espèce de gestionnaire). J'ai un menu "fenêtre" dans ma barre de menu, qui doit accueillir le nom de chaque fenêtre enfant qui s'ouvre. J'arrive à faire apparaitre le nom de la fenêtre dans ce sous-menu avec cette méthode :

private void NameInWindow(Form fenetre, ToolStripMenuItem item)
{
     item.DropDownItems.Add(fenetre.Text);
}


Cependant, ce que j'aimerai faire, c'est checker le nom ainsi créé en fonction de la fenêtre active, mais je n'arrive pas à trouver la commande qui permet de les réutiliser. J'ai testé avec du Contains, j'ai cherché un moyen de faire apparaitre un Text ou un Item quelque part,mais rien n'y fait.

Pour info :
"Fenêtres" est un ToolStripMenuItem qui contient une collection de DropDownItems (et c'est dans cette collection que je créée les textbox).

Merci de votre aide, et si besoin d'autres précisions sur mon code,je suis là :)

3 réponses

Messages postés
15163
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
30 novembre 2020
464
Bonjour,

une idée comme ça, que je n'ai pas codée, dans ta form mère, au moment ou tu crées une instance d'une form fille, tu t'abonnes à l'événement "actived" de la form fille.
Dans la méthode liées à l'abonnement, tu récupères le nom de la form active par la variable sender.


Whismeril
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
20
Salut,

y'a l'EVENT ChekStateChanged sur les menuItem dynamiques

leMenuItemDynamique1.CheckStateChanged += new EventHandler(menuDyn_CheckStateChanged);

Il faut aussi stcoker TOUS les menus dynamique dans une collection afin de pouvoir checker ou dechecker à volonter

On peut donc aciver une fenetre depuis le menu et inversement, lorsqu'on active une fenetre enfant on boucle sur la collection de menu pour changer le checkState.

Bye.
Je crois qu'ils sont déjà stockés dans une collection... Cependant, j'essaierai ces astuces demain, et si ça ne fonctionne pas, je vous tiendrai au courant. Merci pour les réponses ^^