C# WinForm TreeNode expand在运行应用程序后不展开节点

C# WinForm TreeNode expand在运行应用程序后不展开节点,c#,winforms,C#,Winforms,我正在浏览一个列表,以便将节点添加到我的树视图中。我想展开前5个根节点并折叠其他根节点。因此,在添加一个节点后,我调用TreeNode.Expand()来对其进行扩展,但它不起作用。下面是代码片段: for (var i = 0; i <= 5; i++) { var parentNode = treeViewTamsha.Nodes.Add($"Node {i}"); if (i < 3) { parentNode.Expa

我正在浏览一个列表,以便将节点添加到我的树视图中。我想展开前5个根节点并折叠其他根节点。因此,在添加一个节点后,我调用
TreeNode.Expand()
来对其进行扩展,但它不起作用。下面是代码片段:

for (var i = 0; i <= 5; i++)
{
     var parentNode = treeViewTamsha.Nodes.Add($"Node {i}");

       if (i < 3)
       {
         parentNode.Expand();
       }
       else
       {
            parentNode.Collapse();
       }

       for (var j = 0; j < 4; j++)
       {
            var childNode = treeViewTamsha.Nodes[treeViewTamsha.Nodes.Count - 1].Nodes
                    .Add($"Child node: {i}.{j}");
       }
 }

for(var i=0;i给定代码段的问题是,在将子节点添加到节点之后,必须调用
.Expand()
。因此,我只需将
.Expand()
调用移动到嵌套的
for
循环之后

for (var i = 0; i <= 5; i++)
{
    var parentNode = treeViewTamsha.Nodes.Add($"Node {i}");

    for (var j = 0; j < 4; j++)
    {
        var childNode = treeViewTamsha.Nodes[treeViewTamsha.Nodes.Count - 1].Nodes
            .Add($"Child node: {i}.{j}");
    }

//***************** Moved this block after the nested for loop *****************/
    if (i < 3)
    {
        parentNode.Expand();
    }
    else
    {
        parentNode.Collapse();
    }
}
(变量i=0;i)的