电竞比分网-中国电竞赛事及体育赛事平台

分享

C# 關于treeview的綁定和右鍵菜單添加刪除子節(jié)點

 昵稱10504424 2013-06-13

最近,使用到了winform的treeview控件,在網上看了好多關于treeview控件使用方法的介紹都不全面。于是我這個菜鳥進行了寫了點東西出來,還請高手不要見笑。自此也就當作是自己學習的一種反省和記錄吧,另外朋友們要是不嫌棄的話可以拿去用。閑話少說,上代碼:

 一 、treeview 控件綁定數據庫的操作

      關于數據庫的綁定,參考了網上高手們寫的demo,別笑話我,哈哈。

    代碼

  

 

     二、  在為treeview 控件添加右鍵菜單 (添加節(jié)點,刪除節(jié)點)

               在treeview的節(jié)點點擊事件中添加右鍵菜單  (TreeView1_NodeMouseClick)   

             

 

三 實現右鍵菜單的點擊事件

復制代碼
 1             添加子節(jié)點
 2 
 3            void editAddChildProduct_Click(object sender, EventArgs e)
 4         {
 5             TreeNode tn = this.productTypeTree.SelectedNode;
 6             AddChildNode(tn, "新節(jié)點");
 7             this.productTypeTree.ExpandAll();
 8         }       
 9         //刪除節(jié)點
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         //  添加兄弟節(jié)點
17         void editAddproduct_Click(object sender, EventArgs e)
18         {           
19             TreeNode tn = this.productTypeTree.SelectedNode;
20             AddtreeNode(tn, "新節(jié)點");
21             this.productTypeTree.ExpandAll();
22         }       
23 
24          //添加兄弟節(jié)點
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         //添加子節(jié)點
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          //刪除節(jié)點
47         private void DeleteNode(TreeNode treenode)
48         {
49             if (treenode.Nodes.Count==0)   //如果該節(jié)點下沒有子節(jié)點直接刪除
50             {
51                 this.productTypeTree.Nodes.Remove(treenode);
52             }
53             else if (treenode.Nodes.Count>0)//該節(jié)點下有節(jié)點 提示是否全部刪除該節(jié)點的所有內容
54             {
55                 if ((MessageBox.Show("是否刪除該項目下的所有子項?","警告",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning))==DialogResult.OK)
56                 {
57                     this.productTypeTree.Nodes.Remove(treenode);
58                 }
59             }
60         }
復制代碼

            

    2013-06-11

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多