首页 > 其他 > 详细

TreeView查获节点并选中节点

时间:2014-03-09 06:38:03      阅读:341      评论:0      收藏:0      [点我收藏+]

 bubuko.com,布布扣

 

TreeView查获节点并选中节点如果有多个节点则会继续查找下一个节点 支持关键字搜索

bubuko.com,布布扣
        private void SearchNodes(string SearchText, TreeNode StartNode)
        {
            TreeNode node = null;
            while (StartNode != null)
            {
                if (StartNode.Text.ToLower().Contains(SearchText.ToLower()))
                {
                    CurrentNodeMatches.Add(StartNode);
                }

                if (StartNode.Nodes.Count != 0)
                {
                    SearchNodes(SearchText, StartNode.Nodes[0]);//Recursive Search 
                }
                StartNode = StartNode.NextNode;
            }
        }
bubuko.com,布布扣


使用

 

bubuko.com,布布扣
 private List<TreeNode> CurrentNodeMatches = new List<TreeNode>();
        private int LastNodeIndex = 0;
        private string LastSearchText;

        
        private void SearchNodeText_Click(object sender, EventArgs e)
        {
            treeView1.Focus();
            string searchText = this.textBox7.Text;/////////////////
if (String.IsNullOrEmpty(searchText)) { return; } if (LastSearchText != searchText) { //It‘s a new Search CurrentNodeMatches.Clear(); LastSearchText = searchText; LastNodeIndex = 0; SearchNodes(searchText, treeView1.Nodes[0]); } if (CurrentNodeMatches.Count == 0) MessageBox.Show("无查找记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); if (LastNodeIndex >= 0 && CurrentNodeMatches.Count > 0 && LastNodeIndex < CurrentNodeMatches.Count) { TreeNode selectedNode = CurrentNodeMatches[LastNodeIndex]; LastNodeIndex++; this.treeView1.SelectedNode = selectedNode; this.treeView1.SelectedNode.Expand(); this.treeView1.Select(); } else LastNodeIndex = 0; }
bubuko.com,布布扣

TreeView查获节点并选中节点,布布扣,bubuko.com

TreeView查获节点并选中节点

原文:http://www.cnblogs.com/xe2011/p/3588289.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!