C# TreeView查獲節點並選中節點


在一個項目中用到了TreeView,但是每次刷新TreeView的數據之后,所有的節點都會折疊起來

非常影響用戶體驗,使用下面的方法可以解決這個問題

string LastSelectNode = "";
//先保存當前選中的節點的key
LastSelectNode = treeView1.SelectedNode.Name;
//刷新數據
TreeView_Load_();
//查找節點並重新選中
SearchNodes(LastSelectNode, treeView1.Nodes[0]);

 

 

        #region TreeView查找並選中節點
        private void SearchNodes(string SearchText, TreeNode StartNode)
        {
            while (StartNode != null)
            {
                if (StartNode.Name.ToLower().Contains(SearchText.ToLower()))
                {
                  //  CurrentNodeMatches.Add(StartNode);
                    treeView_AfterSelect_bit = false;
                    treeView1.SelectedNode = StartNode;
                    treeView1.SelectedNode.Expand();
                    treeView1.Select();
                    treeView_AfterSelect_bit = true;
                }

                if (StartNode.Nodes.Count != 0)
                {
                    SearchNodes(SearchText, StartNode.Nodes[0]);//遞歸搜索
                }
                StartNode = StartNode.NextNode;
            }
        }
        #endregion

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM