中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中TreeNode的示例分析

發布時間:2021-08-19 11:48:14 來源:億速云 閱讀:438 作者:小新 欄目:開發技術

這篇文章主要介紹C#中TreeNode的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

添加節點

private void Form1_Load(object sender, EventArgs e)  
{  
    treeView1.LabelEdit = true;//可編輯狀態。  
  
    //添加一個節點,這個結點是根節點。  
    TreeNode node = new TreeNode();  
    node.Text = "hope";  
    treeView1.Nodes.Add(node);  
  
    TreeNode node1 = new TreeNode();  
    node1.Text = "hopeone";  
    TreeNode node11 = new TreeNode();  
    node11.Text = "hopeoneone";  
    TreeNode node2 = new TreeNode();  
    node2.Text = "hopetwo";  
  
    node1.Nodes.Add(node11);//在node1下面在添加一個結點。  
  
    node.Nodes.Add(node1);//node下的兩個子節點。  
    node.Nodes.Add(node2);  
  
  
    TreeNode t = new TreeNode("basil");//作為根節點。  
    treeView1.Nodes.Add(t);  
    TreeNode t1 = new TreeNode("basilone");  
    t.Nodes.Add(t1);  
    TreeNode t2 = new TreeNode("basiltwo");  
    t.Nodes.Add(t2);  
}
private void Form1_Load(object sender, EventArgs e)
        {
            treeView1.LabelEdit = true;//可編輯狀態。
 
            //添加一個節點,這個結點是根節點。
            TreeNode node = new TreeNode();
            node.Text = "hope";
            treeView1.Nodes.Add(node);
 
            TreeNode node1 = new TreeNode();
            node1.Text = "hopeone";
            TreeNode node11 = new TreeNode();
            node11.Text = "hopeoneone";
            TreeNode node2 = new TreeNode();
            node2.Text = "hopetwo";
 
            node1.Nodes.Add(node11);//在node1下面在添加一個結點。
 
            node.Nodes.Add(node1);//node下的兩個子節點。
            node.Nodes.Add(node2);
 
 
            TreeNode t = new TreeNode("basil");//作為根節點。
            treeView1.Nodes.Add(t);
            TreeNode t1 = new TreeNode("basilone");
            t.Nodes.Add(t1);
            TreeNode t2 = new TreeNode("basiltwo");
            t.Nodes.Add(t2);
        }

刪除

private void button1_Click(object sender, EventArgs e)  
      {  
          //點擊該按鈕的時候,會移除選中項  
          treeView1.Nodes.Remove(treeView1.SelectedNode);  
      }
private void button1_Click(object sender, EventArgs e)
        {
            //點擊該按鈕的時候,會移除選中項
            treeView1.Nodes.Remove(treeView1.SelectedNode);
        }

修改

private void button2_Click(object sender, EventArgs e)  
       {  
           //點擊這個按鈕的時候,可以修改選中項  
           //注意:在使用這個屬性的時候,必須設置treeView1.LabelEdit =true,否則會提示錯誤。  
           treeView1.SelectedNode.BeginEdit();  
       }
private void button2_Click(object sender, EventArgs e)
        {
            //點擊這個按鈕的時候,可以修改選中項
            //注意:在使用這個屬性的時候,必須設置treeView1.LabelEdit =true,否則會提示錯誤。
            treeView1.SelectedNode.BeginEdit();
        }

C#中Treeview判斷選擇的節點并執行不同的方法

Treeview,點擊不同的節點(包括父節點和父節點下的子節點)觸發不同的事件,執行相應的方法

方法1:

treeView1_AfterSelect事件就是treeView1中節點被選擇觸發的事件,e.Node指的是當前選中的節點,e.Node.Nodes指的是當前選中節點的子節點集合。

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)  
      {  
          if (e.Action == TreeViewAction.ByMouse)  
          {  
              //當前選中的節點有父節點,并且該父節點在相同級別的父節點中排行第一。  
              if (e.Node.Parent != null && e.Node.Parent.Index == 0)  
              {    
                  //當前選中節點在所有的兄弟節點中排第 一  
                  if(e.Node.Index==0)   
                  {  
                       //調用相應的方法();  
                  }  
              }  
              //表示當前節點沒有父節點,并且在兄弟節點中排行第五(由零開始索引)  
              if(e.Node.Parent==null&&e.Node.Index==4)  
              {  
             //調用相應的方法();  
               }  
          }  
      }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Action == TreeViewAction.ByMouse)
            {
                //當前選中的節點有父節點,并且該父節點在相同級別的父節點中排行第一。
                if (e.Node.Parent != null && e.Node.Parent.Index == 0)
                {  
                    //當前選中節點在所有的兄弟節點中排第 一
                    if(e.Node.Index==0) 
                    {
                         //調用相應的方法();
                    }
                }
                //表示當前節點沒有父節點,并且在兄弟節點中排行第五(由零開始索引)
                if(e.Node.Parent==null&&e.Node.Index==4)
                {
               //調用相應的方法();
                 }
            }
        }

方法二:

通過節點的Name屬性來判斷具體是哪個節點被選擇,并執行相應的方法(這種方法效率高一些)

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)  
        {  
             if (e.Action == TreeViewAction.ByMouse)  
             {  
                 //說明當前選中節點沒有子節點  
                 if(e.Node.Nodes.Count==0)  
                 {  
                      if(e.Node.name="aaa")  
                      {  
                           //執行相應的方法();  
                      }  
                      else if(e.Node.Name="bbb")  
                      {  
                           //執行相應的方法();  
                      }  
                 }  
            }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
         {
              if (e.Action == TreeViewAction.ByMouse)
              {
                  //說明當前選中節點沒有子節點
                  if(e.Node.Nodes.Count==0)
                  {
                       if(e.Node.name="aaa")
                       {
                            //執行相應的方法();
                       }
                       else if(e.Node.Name="bbb")
                       {
                            //執行相應的方法();
                       }
                  }
             }

C# 怎么判斷TreeView選中的是子節點 ?并且是屬于哪個父節?

TreeNode selNode = tree.SelectedNode;  
if (selNode == null)  
{  
    //防止空引用  
    return;  
}  
if (selNode.Parent != null)  
{  
    //為有父親節點的,  
    TreeNode parentNode = selNode.Parent;//得到父親節點                
    if (selNode.Nodes.Count == 0)  
    {  
        //為沒有子節點,即選中的節點為葉子節點  
    }  
}
TreeNode selNode = tree.SelectedNode;
if (selNode == null)
{
    //防止空引用
    return;
}
if (selNode.Parent != null)
{
    //為有父親節點的,
    TreeNode parentNode = selNode.Parent;//得到父親節點              
    if (selNode.Nodes.Count == 0)
    {
        //為沒有子節點,即選中的節點為葉子節點
    }
}

C#.Net中TreeView控件右鍵選擇節點問題處理

private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)    
{    
    if(e.Button==MouseButtons.Right)    
    {    
        TreeNode tn=treeView1.GetNodeAt(e.X,e.Y);    
        if(tn!=null)treeView1.SelectedNode = tn;    
    }    
}
private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)  
{  
    if(e.Button==MouseButtons.Right)  
    {  
        TreeNode tn=treeView1.GetNodeAt(e.X,e.Y);  
        if(tn!=null)treeView1.SelectedNode = tn;  
    }  
}

treeView默認 展開

treeView1.ExpandAll();

默認選中TreeVIew中的一個節點

//先找到你要設置選中的節點
TreeNode tn = treeView1.Nodes[3];
//把要設置的節點給SelectedNode
this.treeView1.SelectedNode = tn;
//this.TreeView1.SelectedNodeIndex="";

TreeView,左鍵單擊節點時可修改節點名稱

TreeView本身可支持左鍵修改名稱
在初始化時設置:
TreeView.LabelEdit = true; 
這樣應用程序的treeview生成以后就支持單擊節點修改。
如果不想左鍵修改,可在treeView1_MouseDown中設置treeView1.LabelEdit = false;
右鍵菜單 重命名
treeView1.LabelEdit = true;
treeView.SelectedNode.BeginEdit();

TreeVIew清空

TreeView.Nodes.Clear()

以上是“C#中TreeNode的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永州市| 交城县| 中阳县| 徐州市| 柳河县| 定州市| 确山县| 靖江市| 沐川县| 穆棱市| 石阡县| 黄浦区| 永州市| 平利县| 建平县| 蓬莱市| 冷水江市| 曲水县| 五大连池市| 特克斯县| 龙南县| 大田县| 金乡县| 宝应县| 浦江县| 房山区| 建湖县| 宁夏| 东乡族自治县| 桑植县| 舟曲县| 大兴区| 奉新县| 内丘县| 蒙阴县| 方山县| 宁乡县| 阿克苏市| 夏邑县| 惠水县| 新民市|