C# WinForm控件之advTree


0.屬性和方法

//屬性方法
advTree1.DragDropEnabled = !advTree1.DragDropEnabled;//控制是否可以拖動節點
advTree1.MultiSelect = !advTree1.MultiSelect;//控制節點是否可以多選
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Triangle;//展開節點前邊的圖標 三角形
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Ellipse;//圓形中間一個線
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Image;//展開下邊1的圖 折疊下邊0的圖
advTree1.ExpandImage = imageList1.Images[1];
advTree1.ExpandImageCollapse = imageList1.Images[0];
advTree1.ExpandButtonType = DevComponents.AdvTree.eExpandButtonType.Rectangle;//默認方塊形中間加一個線
advTree1.ExpandButtonSize = new Size(10, 10);//展開按鈕大小 默認8,8
advTree1.SelectionBoxStyle = DevComponents.AdvTree.eSelectionStyle.FullRowSelect;//選中一行
advTree.DragDropEnable=false; 禁止拖動   
// advTree1.Nodes.Clear();//清空所有節點 advTree1.ExpandAll();//全部展開 advTree1.CollapseAll();//全部折疊 Node n = advTree1.SelectedNode.Copy();//復制先中節點 advTree1.SelectedNode.Remove();//移除節點 advTree1.Nodes.Add(n);//添加節點

1.對advTree操作都是在Nodes屬性基礎上的如:新建 一個Node並添加到tree中 node 前的圖片 展示

Node n = new Node();//節點下再加節點 像部門檔案等可遞歸實現
n.Text = "小張";
n.Nodes.Add(new Node(""));
n.Nodes.Add(new Node("18"));
n.Nodes.Add(new Node("小張永遠18,你懂得")); 
n.Nodes.AddRange(new Node[] { new Node(""), new Node("有三個女朋友")});//集合增加
n.image=//圖片源 顯示圖片
n.ImageExpanded=//圖片源 節點展開時顯示的圖片

advTree1.Nodes.Add(n);

 

2.取選中節點的值

advTree1.SelectedNode.Text;

 3.選中時節點 執行操作(SelectedIndexChanged) 

   private void AdvTree1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //MessageBox.Show(advTree1.SelectedNode.Text);
     
            //層級
            if (advTree1.SelectedNode.Level == 0)
            {
                //語句1
            }
            else if (advTree1.SelectedNode.Level ==1)
            {
                //語句2
            }
        }    

 4.拖拽 各種限制都在BeforeNodeDrop設置 如:我只能在層級1級上相互拖動 不可去0級2級

 private void AdvTree1_BeforeNodeDrop(object sender, TreeDragDropEventArgs e)
        {                                   
            Node node = e.Node;
            Node pNode = e.NewParentNode;

            if (pNode==null)
            {
               MessageBox.Show("不能改變層級關系");
                e.Cancel = true;
                return;
            }


            if (pNode.Level != 0)
            {
                 MessageBox.Show("不能改變層級關系");
                e.Cancel = true;
                return;
            }
        
        }

 

  


免責聲明!

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



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