2009-08-18 4 views
0

hI,signe + en face d'un nœud d'arbre

Je travaille avec une vue arborescente en C# en utilisant Visual Studio 2005 et que vous voulez trouver un nœud d'arborescence et ajouter des nœuds en dessous sur un bouton est pressé dans mes fenêtres formes application. J'ai essayé d'utiliser treeView1.Nodes.Find ("My_Text", true); où "My_Text" est le texte associé au nœud sous lequel je veux ajouter des nœuds en mode.

Cependant, je ne peux pas trouver un moyen d'utiliser cela à mon avantage car je ne sais pas ce que cette déclaration renvoie.

Je souhaite utiliser treeView1.SelectedNode.Nodes.Add (newnode); pour ajouter des nœuds mais pour cela je dois d'abord sélectionner un nœud. Et treeView1.Nodes.Find ne ressemble pas à ce qu'il sélectionne le nœud pour moi. De l'aide?

Répondre

1

Etes-vous sûr qu'un noeud contenant du texte existe dans votre application? Je viens d'essayer une application de test simple et la méthode Recherche fonctionne sans problème ...

private void button1_Click(object sender, EventArgs e) { 
     // WARNING: add checks 
     TreeNode[] nodes = treeView1.Nodes.Find("Node2",true); 
     TreeNode node = nodes[0]; 
     node.Nodes.Add("child node"); 
    } 
+0

merci ... fonctionne parfaitement maintenant. – zack

1

Avez-vous besoin d'utiliser SelectedNode.Nodes.Add()? L'opération Nodes.Add (...) peut être effectuée sur n'importe quel TreeNode. Donc, si vous pouvez trouver le nœud, appelez simplement node.Nodes.Add (..). Vous n'avez pas besoin de le sélectionner en premier. Jetez un coup d'œil à la documentation ou à l'information intellisense pour voir ce que renvoie la méthode Find(). TreeView.Nodes.Find renvoie un tableau de noeuds correspondant à la chaîne que vous avez spécifiée.

0

Vous pouvez ensuite utiliser la méthode Add sur les noeuds pour ajouter des sous-noeuds, évidemment si vous avez plus d'un noeud dans le tableau, alors vous avez une situation non unique, donc si vous cherchiez un noeud spécifique, vous aurez besoin de plus d'informations sur lequel l'identifier.

1

treeView1.Nodes.Find() retourne un tableau de TreeNode objets. Si vous êtes sûr qu'il ya un et un seul tel noeud, vous pouvez le faire:

var node = treeView1.Nodes.Find("My_Text", true)[0]; 
node.Nodes.Add(newnode); 

S'il peut y avoir plus d'un tel noeud, vous avez besoin d'une autre façon à lever l'ambiguïté en premier. Et s'il ne peut pas y avoir un tel noeud, vous devez également ajouter une vérification d'erreur.