C# WinForm TreeView選擇父節點子節點全選


 1  //設置標志,防止死循環
 2         bool check = false;
 3         public void TV_AfterCheck(object sender, TreeViewEventArgs e)
 4         {
 5             if (check == false)
 6                 setchild(e.Node);
 7             setparent(e.Node);
 8             check = false;
 9         }
10 
11         //設置子節點狀態
12         private void setchild(TreeNode node)
13         {
14             foreach (TreeNode child in node.Nodes)
15             {
16                 child.Checked = node.Checked;
17             }
18             check = true;
19         }
20 
21         //設置父節點狀態
22         private void setparent(TreeNode node)
23         {
24             if (node.Parent != null)
25             {
26                 //如果當前節點狀態為勾選,則需要所有兄弟節點都勾選才能勾選父節點
27                 if (node.Checked)
28                     foreach (TreeNode brother in node.Parent.Nodes)
29                     {
30                         if (brother.Checked == false)
31                             return;
32                     }
33                 node.Parent.Checked = node.Checked;
34             }
35         }

 


免責聲明!

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



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