刚看到有个同学在询问,关于TreeView遍历的问题,并结贴了,但没有什么具体的程序,
所以这里我写下我的实现方法,希望可以帮下新手。
要求是,开启窗口时,默认要打开第三级节点。
下边是我实现的方法:
窗口中拖入一个TreeView控件,自己加入多个节点,包含子节点的,多少级/多少个随意
代码: 这段代码实现了在找开窗口时,默认打开的2级子节点。这里把根节点当作0级
private void Form1_Load(object sender, EventArgs e)
{
process(this.treeView1);
}
private void process(TreeView tv)//这里用于遍历所有的根节点
{
foreach (TreeNode item in tv.Nodes)
{
processNode(item,0);
}
}
private void processNode(TreeNode tn,int i)//这里会遍历所有的子节点
{
i++;
if (i == 2)//这里是关键,第一次进入时,tn为一级子节点i 为1,当第二次进入时,tn为二级子节点i 为2。
{
this.treeView1.SelectedNode = tn;//设置当前焦点
tn.Expand();//展开当前节点的子节点
}
else
{
foreach (TreeNode item in tn.Nodes)
{
processNode(item, i);
}
}
}
希望大家勇跃拍砖。有好的想法请发言,共同学习,谢谢支持!