Désactiver ou griser un noeud dans l'éditeur TreeNode
Comment puis-je désactiver un nœud spécifique de sorte que l'utilisateur ne peut pas sélectionner. Cacher de l'utilisateur est également valide.
J'ai essayé la propriété Visible mais qui cache l'arbre entier (tous les nœuds). Je veux seulement quelques nœuds désactivé/caché.
C# à l'aide de Visual Studio 2005 Éditeur TreeNode.
source d'informationauteur mr-euro
Vous devez vous connecter pour publier un commentaire.
La
TreeNode
lui-même n'a pas deEnabled
de la propriété, de sorte que vous aurez besoin de trouver un moyen de suivi de l'état. Une façon de faire cela est de créer une nouvelle classe qui hérite deTreeNode
et qui dispose d'uneEnabled
de la propriété. Une autre façon est de maintenir une liste de désactivé les nœuds de l'arborescence.Une fois que c'est fait, vous pouvez utiliser le
ForeColor
propriété de laTreeNode
pour qu'elle s'affiche en grisé (par exemple à l'aide de laSystemColors.GrayText
valeur).Enfin, vous pouvez utiliser le
BeforeSelect
événement pour évaluer si c'est OK pour l'utilisateur de sélectionner un nœud particulier, et de l'utilisation de laCancel
propriété de l'événement args dans ce cas, pour empêcher la sélection d'elle si ce nœud est désactivé:Je viens de trouver un autre moyen de gérer les handicapés treenodes. Si vous gris dans le treenodes vous ne souhaitez pas l'utiliser, vous pouvez demander la couleur et de ne pas permettre à tous les nœuds grisés.
Deux options:
ensemble désactivé nœud par
yourNode.SelectAction = TreeNodeSelectAction.None
Je pense que vous devez également désactiver extensible ce nœud
yourNode.PopulateOnDemand = false