如何拥有Treenode阵列

时间:2010-08-31 07:04:36

标签: c# winforms treeview

我希望有一个treenode数组,如果我添加一个自定义节点,那么在数组中声明的剩余节点应作为子节点添加到添加的自定义节点。

最初我将有一个带有Header节点的树视图,如果我点击它,我会有一个带有addnew选项的contextmenu。当我点击它时,我将有一个保存文件对话框选项来保存文件,我将它作为子节点绑定到该根节点。随之而来的是我想将更多节点作为子节点添加到绑定的节点

2 个答案:

答案 0 :(得分: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();                
        }
    }
}

答案 1 :(得分:0)

一种选择是简单地按照规定制作数组,然后当你想将它们作为新创建节点的子节点添加到它们中时通过它们:

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

这些方面的东西应该可以解决这个问题。