Menu Contextuel - Conception

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 - 21 mars 2012 à 10:44
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 21 mars 2012 à 17:39
Bonjour tout le monde.

Je vais essayer d'être clair, c'est pas gagné

actuellement et non modifiable :
J'ai un treeview possédant une structure complexe : actuellement de 0 à 4 sous-niveaux. au final actuellement un grosse centaine de nœuds, probablement plus une fois en production.
chaque nœud possède en tag un objet métier me permettant de récupérer toutes les infos nécessaires.

mon soucis :

chaque nœud doit posséder un menu contextuel qui lui est en parti propre, en partie défini par son parent et une partie générique.
certains menus exécutent des taches externe (ouvrir explorateur...) d'autre d'affichage (réinitialisation de valeurs...)

Q: faut-il mieux utiliser les contextmenu ou contextmenustrip ?

j'ai créé une classe contextMenuTreeView : ContextMenu
qui possède tous les menuItem ainsi que les méthodes associées

dans le constructeur j'initialise tous les menus.
au remplissage du treeview et sur chaque nœud, j’exécute une méthode de contextMenuTreeView (getMyOwnContextMenu(plein de paramètres))
qui construit un contextMenu propre au nœud en cours.

souvent des nœuds ont au final le même contextmenu, et je vais donc a chaque fois tout le boulot de construction :(
certains nœuds ont un contextmenu avec seulement 2-3 items. J'ai l'impression de me déplacer avec la banque de France sur le dos pour acheter du pain.

a l’exécution je vais me retrouver avec 100 noeuds, 100 contextmenu possédant chacun de 2 a 30 menus (y compris sous menu)
et une classe qui fait le café

Je ne doute pas que ça tournera correctement sur ma machine de dev, mais sur les vieilles casseroles du client, j'ai peur.
Q: Quelqu'un a-t-il déjà eu ce genre de problématique ? quelles solutions envisagées ? retenues ?

Merci pour la lecture du pavé.


BasicInstinct

1 réponse

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2012 à 17:39
Bonsoir,

une idée, si tu associes un seul contextmenu à ton treeview, celui-ci n'ayant aucun item menu.
Au moment ou il s'affiche tu récupères le noeud sélectionné et tu génères tes items menus avec tes méthode existantes.


Whismeril
0
Rejoignez-nous