2009-07-29 7 views
4

Il y a probablement une réponse très simple à cela mais j'ai du mal à la trouver.Comment rendre un TreeNode invisible? (C#)

Simple, j'ai un TreeNode et je voudrais rendre sa visibilité fausse. (ou une autre façon de ne pas permettre qu'il soit montré jusqu'à ce que requis).

Modifier - Une autre question?

Je suis confus quant à la façon dont il n'y a pas un attribut visible mais il est la propriété:

Node.PrevVisibleNode; 

Quelle est la différence entre cela et Node.PrevNode?

Merci,

Répondre

3

Je ne pense pas que vous puissiez le faire. Il existe une propriété IsVisible, mais elle est en lecture seule et indique si le nœud est actuellement visible dans la zone client du contrôle TreeView. Je pense que vous aurez besoin de le retirer de la collection de nœuds dans lequel il se trouve (et éventuellement rappeler la position de celui-ci pour pouvoir restaurer

0

Je ne pense pas que vous le pouvez. Vous devrez supprimer le noeud.

2

Hmm ... J'ai initialement (et incorrectement) mentionné IsVisible. Cependant, lors de l'inspection, je pense que la réponse est simplement: ne l'ajoutez pas jusqu'à ce que vous en ayez besoin.

Cela est plus facile si votre modèle d'interface utilisateur est une abstraction ci-dessus votre modèle de données réelles, de sorte que vous pouvez stocker des éléments dans le modèle de données quelle que soit de leur visibilité et simplement mettre à jour l'interface utilisateur (ajouter/supprimer/nœuds de mise à jour) le cas échéant.

+0

J'ai une question merci si vous pouviez me donner une réponse sur ce lien http://stackoverflow.com/questions/24077785/how-to-implement -disable-fonctionnalité (Désolé mais c'est le seul moyen que j'ai trouvé pour vous contacter car vous aviez déjà répondu à quelques unes de mes questions). – Sss

-1

Node.PrevVisibleNode;.

Je pense que ce signifie visible comme visible à l'utilisateur (tous les nœuds parents sont étendus)

Questions connexes