2014-11-11 1 views
-1

Я работаю над Windows Form Application C#, когда я проверяю несколько узлов TreeView и на событие Click Click, текст, соответствующий каждому Treenode, будет добавлен в richtextbox.Добавить текст в Richtextbox на несколько проверенных узлов в C#

я сделал нечто подобное в то время как Select TreeNode, Ex:

if(treeView1.SelectedNode.Name == "First Node") 
    this.richTextBox1.SelectedText = Firstline; 

    elseif(treeView1.SelectedNode.Name == "Second Node") 
    this.richTextBox1.SelectedText = Other Text; 

Но мне нужно сделать такую ​​же активность для нескольких Checked узла из моего TreeView (кнопка включения пресс-конференции). Пожалуйста, помогите мне

+0

Как выбрать несколько узлов в 'treeview'? –

+0

Для selectnodes, я сформулировал с помощью одного выбора кивок, но для проверочного случая требуется несколько узлов. Спасибо –

ответ

1

как ваш вопрос непонятен. при условии, вы WinForm с treeView1Control

 //populating treeView with dummy data 
    private void Form2_Load(object sender, EventArgs e) 
     { 
      //set the check box true 
      treeView1.CheckBoxes = true; 
      TreeNode treeNode = new TreeNode("Windows"); 
      treeView1.Nodes.Add(treeNode); 
      // 
      // Another node following the first node. 
      // 
      treeNode = new TreeNode("Linux"); 
      treeView1.Nodes.Add(treeNode); 
      // 
      // Create two child nodes and put them in an array. 
      // ... Add the third node, and specify these as its children. 
      // 
      TreeNode node2 = new TreeNode("C#"); 
      TreeNode node3 = new TreeNode("VB.NET"); 
      TreeNode[] array = new TreeNode[] { node2, node3 }; 
      // 
      // Final node. 
      // 
      treeNode = new TreeNode("Dot Net Perls", array); 
      treeView1.Nodes.Add(treeNode); 
     } 

     private void button3_Click(object sender, EventArgs e) 
     { 

      string text = traverseTreeAngGetName(treeView1.Nodes); 
      this.richTextBox1.SelectedText = text; 

     } 
     /// <summary> 
     /// it will traverse all the tree Node from 1 to N Level. if Node is Checked then get 
     /// the checked node name. 
     /// </summary> 
     /// <param name="tr"></param> 
     /// <returns></returns> 
     public static string traverseTreeAngGetName(TreeNodeCollection tr){ 

      string str = ""; 

      foreach (TreeNode node in tr) { 

       if (node.Checked) { 
        //here you can append any text on the base of current 
        str += node.Text + " - " ; 
       } 
       str += traverseTreeAngGetName(node.Nodes); 
      } 
      return str; 
     } 
+0

Thnx Dude, решила мою проблему. :) –