2010-08-31 42 views
0

我想有一個treenode數組,這樣一個方式,如果我添加一個自定義節點以及在陣列中聲明的剩餘節點應該作爲子節點添加到該自定義節點添加。如何擁有一個Treenode陣列

最初我會有一個Header節點樹狀圖,如果我點擊,我會有一個選項addnew的contextmenu。當我點擊時,我將有一個保存文件對話框選項來保存文件,我將它作爲子節點綁定到該根節點。隨着我想添加一些更多的節點作爲子節點到綁定的一個

+0

現在的問題不是很清楚(對我來說,至少)。你能詳細談談你想做什麼嗎? – 2010-08-31 07:07:50

+0

在這種情況下使用Treenode有多重要。只是從我的問題中得出,它幾乎聽起來像XML將是更好的選擇... – Adkins 2010-08-31 07:14:33

+0

Fredrik:我已經更新了我的問題,如果不清楚我會再次解釋 – Dotnet 2010-08-31 07:17:21

回答

1

這得到了答案,我

private void AddNew_Click(object sender, EventArgs e) 
{ 
    Stream myStream; 
    SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 

    saveFileDialog1.InitialDirectory = @"C:\"; 
    //saveFileDialog1.CheckFileExists = true; 
    //saveFileDialog1.CheckPathExists = true; 
    saveFileDialog1.DefaultExt = "txt"; 

    saveFileDialog1.Filter = "(*.txt)|*.txt"; 
    saveFileDialog1.FilterIndex = 2; 
    saveFileDialog1.RestoreDirectory = true; 

    if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
    { 

     if ((myStream = saveFileDialog1.OpenFile()) != null) 
     { 

      string FileName = saveFileDialog1.FileName; 
      TreeNode newNode = new TreeNode(FileName); 
      newNode.SelectedImageIndex = 1; 
      tvwACH.SelectedNode.Nodes.Add(newNode); 
      newNode.Nodes.Add("FileHeader"); 
      newNode.Nodes.Add("BatchHeader"); 
      newNode.Nodes.Add("EntryDetail"); 
      // TODO: Add code here to save the current contents of the form to a file. 
      //myStream.Close();     
     } 
    } 
} 
0

一個選項是簡單地按照陳述的數組,然後當你想添加他們作爲一個新創建的節點的孩子foreach他們:

foreach(var node in nodeArray) 
    newNode.Nodes.Add(node); 

沿着這些行的東西應該爲你做的伎倆。

相關問題