C#中TreeView实现适合两级节点的选中节点方法

2019-12-26 13:31:26于海丽

易采站长站为您分析C#中TreeView实现适合两级节点的选中节点方法,实例分析了C#中TreeView节点操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#中TreeView实现适合两级节点的选中节点方法。。具体如下:

 

 
  1. class TreeViewChecked  { 
  2. bool isfirst = true;  public TreeViewChecked(TreeView treeView) 
  3. {  treeView.AfterCheck += new TreeViewEventHandler(treeView_AfterCheck); 
  4. treeView.AfterSelect += new TreeViewEventHandler(treeView_AfterSelect);  } 
  5. /// <summary>  /// 点击文字,选中checkbox 
  6. /// </summary>  /// <param name="sender"></param> 
  7. /// <param name="e"></param>  void treeView_AfterSelect(object sender, TreeViewEventArgs e) 
  8. {  if (e.Node.Checked) 
  9. e.Node.Checked = false;  else 
  10. e.Node.Checked = true;  if (isfirst) 
  11. {  isfirst = false; 
  12. e.Node.TreeView.Nodes[0].Checked = false;  } 
  13. }  /// <summary> 
  14. /// 选中子节点,勾选父节点,选中父节点,勾选子节点  /// </summary> 
  15. /// <param name="sender"></param>  /// <param name="e"></param> 
  16. void treeView_AfterCheck(object sender, TreeViewEventArgs e)  { 
  17. CheckTreeNode(e.Node);  } 
  18. /// <summary>  /// 选中子节点,勾选父节点,选中父节点,勾选子节点 
  19. /// </summary>  /// <param name="node"></param> 
  20. private void CheckTreeNode(TreeNode node)  { 
  21. node.TreeView.AfterCheck -= new TreeViewEventHandler(treeView_AfterCheck);  //如果不等于null,说明选择的是子节点 
  22. if (node.Parent != null)  { 
  23. TreeNode parent = node.Parent as TreeNode;  //如果该节点是选中的 
  24. if (node.Checked)  {