Réutiliser des DropDownItems créés dynamiquement

Dyesel - 28 oct. 2012 à 09:03
 Dyesel - 29 oct. 2012 à 20:46
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

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
28 oct. 2012 à 09:22
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
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
28 oct. 2012 à 15:53
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.
0
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 ^^
0
Rejoignez-nous