SelectedNode не работает после обновления, всегда показывая ноль - PullRequest
0 голосов
/ 14 ноября 2018

Здесь я пытаюсь показать последний выбранный узел после перезагрузки дерева, но выбранный узел всегда равен нулю. Я могу найти узел дерева из коллекции узлов дерева, но не могу назначить его в виде дерева. Пожалуйста, предложите:

 public void LoadTreeViewData()
        {
            treeView.Nodes.Clear();// Clear any existing items
            treeView.BeginUpdate(); // prevent overhead and flicker
            LoadBaseNodes();//Populate all nodes

            treeView.EndUpdate();
            treeView.Refresh();
            treeView.ExpandAll();
            if (!string.IsNullOrEmpty(m_oSelectedNode_NAME))
            {
                TreeNode[] treeNodes = treeView.FlattenTree()
                .Cast<TreeNode>()
                .Where(r => Convert.ToDecimal(r.Tag) == Convert.ToDecimal(m_oSelectedNode_NAME))
                .ToArray();

                    treeView.SelectedNode = treeNodes[0];                   
                    treeView.Focus();


            }

        }

1 Ответ

0 голосов
/ 16 ноября 2018

Эта проблема возникает из-за того, что я пытаюсь обновить выбранный узел в древовидном представлении после события редактирования метки. Я установил таймер внутри После редактирования метки, чтобы решить проблему и установить выбранный узел, он работает для меня.

  var tnm = new Timer() { Enabled = true, Interval = 30 };
                                tnm.Tick += delegate {
                                    SetSelectioNode();
                                    tnm.Dispose();
                                };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...