带搜索功能,支持绑定对象到节点的TreeView辅助类

特点:

  1、支持数叶子节点与对象绑定

  2、支持xml导入,且数据类相关的xml可自定义,只和泛型的实现有关

  3、支持节点搜索功能,可在树结构上要求只显示部分节点

  4、用C#编写,但与平台关联性低,可移植

数据绑定效果:

搜索功能效果:

用法:

 1         private void button1_Click(object sender, EventArgs e)
 2         {//载入文档
 3             s = new SearchTree<DsTest>(); 
 4             s.load_form_xml(@"XMLFile1.xml");
 5             treeView1.Nodes.Add(s.convert_to_tree(true));
 6             treeView1.ExpandAll();
 7         }
 8 
 9         private void button2_Click(object sender, EventArgs e)
10         {//搜索
11             string rule = textBox1.Text;
12             s.hide_nodes_illegal(rule);
13             treeView1.Nodes.Clear();
14             treeView1.Nodes.Add(s.convert_to_tree(true));
15             treeView1.ExpandAll();
16         }
17 
18         private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
19         {//绑定对象获取
20             DsTest ds;
21             if (s.get_Info_by_name(e.Node.Name, out ds))
22             {
23                 label1.Text = "选中的节点的id是:"+ e.Node.Name;
24                 label2.Text = "选中节点绑定的数据结构的值是:"+ ds.value;
25             }
26             
27         }

 源代码请点击这里

原文地址:https://www.cnblogs.com/william7neral/p/4067434.html