C# 在c中向树节点动态添加child#

C# 在c中向树节点动态添加child#,c#,treeview,C#,Treeview,我想在我的TreeView中将一些子节点动态添加到根节点。我有一个字符串数组,其中有一些名字,比如{“john”、“sean”、“edwin”},但它可以大一些,也可以小一些 我有这样一个根: //Main Node (root) string newNodeText = "Family 1" TreeNode mainNode = new TreeNode(newNodeText, new TreeNode[] { /*HOW TO ADD DY

我想在我的
TreeView
中将一些子节点动态添加到根节点。我有一个字符串
数组
,其中有一些名字,比如
{“john”、“sean”、“edwin”}
,但它可以大一些,也可以小一些

我有这样一个根:

        //Main Node (root)
        string newNodeText = "Family 1"
        TreeNode mainNode = new TreeNode(newNodeText, new TreeNode[] { /*HOW TO ADD DYNAMIC CHILDREN FROM ARRAY HERE?!?*/ });
        mainNode.Name = "root";
        mainNode.Tag = "Family 1;
我试着用我的孩子们的名字做这样的事情:

        foreach (string item in xml.GetTestNames()) //xml.GetTestNames will return a string array of childs
        {
            TreeNode child = new TreeNode();

            child.Name = item;
            child.Text = item;
            child.Tag = "Child";
            child.NodeFont = new Font(listView1.Font, FontStyle.Regular);
        }
但很明显,这是行不通的。 提示:我有我的子数组中的元素数

编辑1:

我正在努力做到:

        //Make childs
        TreeNode[] tree = new TreeNode[xml.GetTestsNumber()];
        int i = 0;

        foreach (string item in xml.GetTestNames())
        {
            textBox1.AppendText(item);
            tree[i].Name = item;
            tree[i].Text = item;
            tree[i].Tag = "Child";
            tree[i].NodeFont = new Font(listView1.Font, FontStyle.Regular);

            i++;
        }

        //Main Node (root)
        string newNodeText = xml.FileInfo("fileDeviceName") + " [" + fileName + "]"; //Text of a root node will have name of device also
        TreeNode mainNode = new TreeNode(newNodeText, tree);
        mainNode.Name = "root";
        mainNode.Tag = pathToFile;


        //Add the main node and its child to treeView
        treeViewFiles.Nodes.AddRange(new TreeNode[] { mainNode });

但这不会给我的树视图添加任何内容。

我认为问题在于您没有通知主节点子节点是它的子节点,类似于:mainNode.children.add(child)(在for块中)。您只需创建子节点,但不需要对其执行任何操作,即可使其与TreeView或Main节点建立任何关系。

您需要将子节点附加到父节点,以下是一个示例:

TreeView myTreeView = new TreeView();
myTreeView.Nodes.Clear();
foreach (string parentText in xml.parent)
{
   TreeNode parent = new TreeNode();
   parent.Text = parentText;
   myTreeView.Nodes.Add(treeNodeDivisions);

   foreach (string childText in xml.child)
   {
      TreeNode child = new TreeNode();
      child.Text = childText;
      parent.Nodes.Add(child);
   }
}