最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# TreeNode案例詳解

 更新時間:2021年08月19日 09:38:35   作者:luckyone906  
這篇文章主要介紹了C# TreeNode案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

添加節(jié)點

private void Form1_Load(object sender, EventArgs e)  
{  
    treeView1.LabelEdit = true;//可編輯狀態(tài)。  
  
    //添加一個節(jié)點,這個結(jié)點是根節(jié)點。  
    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下面在添加一個結(jié)點。  
  
    node.Nodes.Add(node1);//node下的兩個子節(jié)點。  
    node.Nodes.Add(node2);  
  
  
    TreeNode t = new TreeNode("basil");//作為根節(jié)點。  
    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;//可編輯狀態(tài)。
 
            //添加一個節(jié)點,這個結(jié)點是根節(jié)點。
            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下面在添加一個結(jié)點。
 
            node.Nodes.Add(node1);//node下的兩個子節(jié)點。
            node.Nodes.Add(node2);
 
 
            TreeNode t = new TreeNode("basil");//作為根節(jié)點。
            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)  
       {  
           //點擊這個按鈕的時候,可以修改選中項  
           //注意:在使用這個屬性的時候,必須設(shè)置treeView1.LabelEdit =true,否則會提示錯誤。  
           treeView1.SelectedNode.BeginEdit();  
       }
private void button2_Click(object sender, EventArgs e)
        {
            //點擊這個按鈕的時候,可以修改選中項
            //注意:在使用這個屬性的時候,必須設(shè)置treeView1.LabelEdit =true,否則會提示錯誤。
            treeView1.SelectedNode.BeginEdit();
        }

C#中Treeview判斷選擇的節(jié)點并執(zhí)行不同的方法

Treeview,點擊不同的節(jié)點(包括父節(jié)點和父節(jié)點下的子節(jié)點)觸發(fā)不同的事件,執(zhí)行相應(yīng)的方法

方法1:

treeView1_AfterSelect事件就是treeView1中節(jié)點被選擇觸發(fā)的事件,e.Node指的是當(dāng)前選中的節(jié)點,e.Node.Nodes指的是當(dāng)前選中節(jié)點的子節(jié)點集合。

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

方法二:

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

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

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

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

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

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默認(rèn) 展開

treeView1.ExpandAll();

默認(rèn)選中TreeVIew中的一個節(jié)點

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

TreeView,左鍵單擊節(jié)點時可修改節(jié)點名稱

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

TreeVIew清空

TreeView.Nodes.Clear()

到此這篇關(guān)于C# TreeNode案例詳解的文章就介紹到這了,更多相關(guān)C# TreeNode使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

平陆县| 阿拉善右旗| 新沂市| 高陵县| 丹阳市| 黄浦区| 通山县| 郧西县| 西华县| 象山县| 绩溪县| 湖口县| 潍坊市| 射洪县| 洛宁县| 高安市| 寻乌县| 延吉市| 亳州市| 崇仁县| 天津市| 东莞市| 瓦房店市| 江源县| 金塔县| 五指山市| 嵊泗县| 普格县| 新绛县| 巫山县| 岳西县| 德阳市| 玉环县| 阳东县| 康保县| 通山县| 织金县| 辽宁省| 奉节县| 报价| 苍山县|