2017-08-04 25 views
-1

在我開發的c#窗體應用程序中,我想將添加到列表中的消息同時添加到樹視圖中。我可以在之前添加到.XML文件的消息中執行此操作,但我無法在列表中執行此操作。C#在按下按鈕時將添加到列表中的消息添加到treeView

public void buttonAddNewMessage_Click(object sender, EventArgs e) 
    { 

     addMessageList.Add(new AddedMessageList // ↓ 
          { messageName = textMessageName.Text, // ↓ 
           messageDirection = textMessageDirection.Text, // ↓ 
           messageFrequency = textMessageFrequency.Text }); // → Listeye Mesaj Ekleme 
    } 

enter image description here

我分享我對於我先前保存在.xml文件信息開發的應用程序的圖片。 現在,我想將列表中的消息添加到treeView。 TreeView將只顯示messageName。

public void PopulateTreeView(string name, TreeNode parentNode) 
    { 

     var filteredItems = addMessageList.Where(item => item.messageName == name); 
     TreeNode childNode; 

     foreach (var i in filteredItems.ToList()) 
     { 

      if (parentNode == null) 
      { 

       childNode = messagesEditorObject.treeViewMessageList.Nodes.Add(i.messageName); 
      } 

      else 
      { 

       childNode = parentNode.Nodes.Add(i.messageName); 
      } 

      PopulateTreeView(i.messageName, childNode); 
     } 
    } 
+0

請張貼將項目插入樹形視圖的代碼 –

+0

應該是預期的結果?你想要'messageDirection'和'messageFrequency'是'messageName'的子節點嗎? –

+0

我想要添加到列表中的消息顯示在treeView中,如圖所示。 –

回答

0

這將幫助你的問題。

TreeNode nodeDirection = new TreeNode(textMessageDirection.Text); 
TreeNode nodeFrequency = new TreeNode(textMessageFrequency.Text); 
TreeNode[] array = new TreeNode[] { nodeDirection , nodeFrequency }; 
treeNode = new TreeNode(textMessageName.Text, array); 
treeView1.Nodes.Add(treeNode);