程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> [轉]遍歷treeView子節點 同時遍歷父結點 直到頂級結點 並不是全部父的集合

[轉]遍歷treeView子節點 同時遍歷父結點 直到頂級結點 並不是全部父的集合

編輯:.NET實例教程

private void treeView1_AfterCheck(object sender, TreeVIEwEventArgs e)
  {
    oMM.ToggleAllChildNodes(e.Node,e.Node.Checked);
    treeView1.AfterCheck-=new TreeViewEventHandler(treeVIEw1_AfterCheck);
    oMM.ToggleAllParentNodes(e.Node,e.Node.Checked);
    treeView1.AfterCheck+=new TreeViewEventHandler(treeVIEw1_AfterCheck);
    //遍歷父結點 時取消事件以免無限循環    
  }

 

public void ToggleAllChildNodes(TreeNode CurrentNode ,bool NodeChecked)
  {
   
    foreach(TreeNode node in CurrentNode.Nodes)
    {
     node.Checked=NodeChecked;
     if(node.Nodes.Count>0)
      this.ToggleAllChildNodes(node,NodeChecked);
    }
  }

  public void ToggleAllParentNodes(TreeNode CurrentNode ,bool NodeChecked)
  {
   if(NodeChecked)
   {
    CurrentNode.Checked=NodeChecked;
    if(CurrentNode.Parent!=null)
    {
      this.ToggleAllParentNodes(CurrentNode.Parent,NodeChecked);
    }

   }
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved