WinForm TreeNode expand не расширяет узел после запуска приложения - PullRequest
0 голосов
/ 09 февраля 2020

Я просматриваю список, чтобы добавить узел в мой TreeView. Я хочу расширить первые 5 root узлов и свернуть остальные. Поэтому после добавления узла я звоню 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}");
       }
 }

1 Ответ

0 голосов
/ 09 февраля 2020

Проблема с данным фрагментом кода заключается в том, что вам нужно позвонить .Expand() ПОСЛЕ , когда вы закончили добавление дочерних элементов в узел. Итак, мне просто пришлось переместить вызов .Expand() после вложенного for l oop

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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...