2009-11-26 4 views
0

J'ai un problème avec la commande Infragistics UltraTree. J'ai besoin d'un moyen d'ajouter un menu contextuel spécifique à un UltraTreeNode. J'ai vu qu'il existe une propriété contextMenu pour l'UltraTree, mais j'ai besoin d'une propriété unique pour chaque nœud.Menu contextuel spécifique par UltraTreeNode

Quelle est la meilleure façon de le faire en C#?

Répondre

1

J'ai récemment dû le faire avec un TreeView régulier. Depuis infragistics.UltraTreeNode a un menu contextuel tout comme le TreeNode normal, je suppose que la technique sera la même.

Voilà comment je l'ai fait:

Étape 1. Attribuer le menu contextuel d'intérêt pour chaque nœud qui doit le recevoir. Cela devrait être fait lors du remplissage des noeuds d'arbre.

Étape 2. Intercept l'événement d'ouverture dans le menu contextuel (s)

Étape 3. Reconstruire le contenu du menu dans le gestionnaire d'événement "contextMenu_Opening". Ne faites cela que pour un objet de menu contextuel qui sera partagé entre différents types de nœuds. Vous pouvez également ajouter tous les éléments que vous voulez au menu, à l'avant sur la vue arborescente ou contenant la construction des contrôles, puis les masquer ou les afficher via la propriété Visible. C'est vraiment une question de préférence personnelle à ce stade.