標籤:des style blog http color 使用 os 2014
在新項目的開發中,TreeView的作用很重要,這兩天好好的學習了一下treeview的使用方法。
這篇文章主要關注TreeView帶有CheckBox的情況。
在TreeView中點擊CheckBox觸發的函數如下:
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { }
在這個事件中選中,或者取消的那一個節點為:
TreeNode node = e.Node;
使用TreeView控制項要經常使用到遞迴演算法。下面舉兩個例子:
表單如下:
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { TreeNode node = e.Node; if (node.Checked) { SetChildNodesState(e.Node); } } private void SetChildNodesState(TreeNode ParentNode) { if (ParentNode.Nodes != null) { foreach (TreeNode node in ParentNode.Nodes) { node.Checked = true; SetChildNodesState(node); } } }
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { TreeNode node = e.Node; if (node.Checked == false) { SetParentNodeState(e.Node); } } private void SetParentNodeState(TreeNode ChildNode) { if (ChildNode.Parent != null) { ChildNode.Parent.Checked = false; SetParentNodeState(ChildNode.Parent); } }
未完待續