分享

C# 关于treeview的绑定和右键菜单添加删除子节点

 昵称10504424 2013-06-13

最近,使用到了winform的treeview控件,在网上看了好多关于treeview控件使用方法的介绍都不全面。于是我这个菜鸟进行了写了点东西出来,还请高手不要见笑。自此也就当作是自己学习的一种反省和记录吧,另外朋友们要是不嫌弃的话可以拿去用。闲话少说,上代码:

 一 、treeview 控件绑定数据库的操作

      关于数据库的绑定,参考了网上高手们写的demo,别笑话我,哈哈。

    代码

  

 

     二、  在为treeview 控件添加右键菜单 (添加节点,删除节点)

               在treeview的节点点击事件中添加右键菜单  (TreeView1_NodeMouseClick)   

             

 

三 实现右键菜单的点击事件

复制代码
 1             添加子节点
 2 
 3            void editAddChildProduct_Click(object sender, EventArgs e)
 4         {
 5             TreeNode tn = this.productTypeTree.SelectedNode;
 6             AddChildNode(tn, "新节点");
 7             this.productTypeTree.ExpandAll();
 8         }       
 9         //删除节点
10         void editDeleteproduct_Click(object sender, EventArgs e)
11         {
12             TreeNode treenode = this.productTypeTree.SelectedNode;
13             this.DeleteNode(treenode);
14             this.productTypeTree.ExpandAll();
15         }
16         //  添加兄弟节点
17         void editAddproduct_Click(object sender, EventArgs e)
18         {           
19             TreeNode tn = this.productTypeTree.SelectedNode;
20             AddtreeNode(tn, "新节点");
21             this.productTypeTree.ExpandAll();
22         }       
23 
24          //添加兄弟节点
25         private void AddtreeNode(TreeNode Node, string NewNodeName)
26         {
27             TreeNode parentNode = Node.Parent;
28             TreeNode newNode = new TreeNode(); newNode.Text = NewNodeName;           
29             if (parentNode != null)
30             {
31                 if (!parentNode.Nodes.Contains(newNode))
32                 {
33                     parentNode.Nodes.Add(newNode);
34                 }
35                 else return;                
36             }
37         }
38         //添加子节点
39         private void AddChildNode(TreeNode tn, string NewChileName)
40         {
41             TreeNode newChildNode = new TreeNode();
42             newChildNode.Text = NewChileName;
43             tn.Nodes.Add(newChildNode);
44         }
45 
46          //删除节点
47         private void DeleteNode(TreeNode treenode)
48         {
49             if (treenode.Nodes.Count==0)   //如果该节点下没有子节点直接删除
50             {
51                 this.productTypeTree.Nodes.Remove(treenode);
52             }
53             else if (treenode.Nodes.Count>0)//该节点下有节点 提示是否全部删除该节点的所有内容
54             {
55                 if ((MessageBox.Show("是否删除该项目下的所有子项?","警告",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning))==DialogResult.OK)
56                 {
57                     this.productTypeTree.Nodes.Remove(treenode);
58                 }
59             }
60         }
复制代码

            

    2013-06-11

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约